package dk.nineconsult.jmoller.mapr.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.xtext.parsetree.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import dk.nineconsult.jmoller.mapr.services.MaprGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalMaprParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'complete'", "'partial'", "'one-way'", "'bidi'", "'module'", "'.'", "'mapper'", "'between'", "'and'", "'{'", "'}'", "';'", "'map'", "'<=>'", "'left'", "'='", "'right'", "'composite'", "'ignore'"
    };
    public static final int RULE_ID=4;
    public static final int RULE_STRING=5;
    public static final int RULE_ANY_OTHER=10;
    public static final int RULE_INT=6;
    public static final int RULE_WS=9;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;

        public InternalMaprParser(TokenStream input) {
            super(input);
        }
        

    public String[] getTokenNames() { return tokenNames; }
    public String getGrammarFileName() { return "../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g"; }


     
     	private MaprGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(MaprGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start entryRuleModel
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:61:1: entryRuleModel : ruleModel EOF ;
    public final void entryRuleModel() throws RecognitionException {
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:62:1: ( ruleModel EOF )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:63:1: ruleModel EOF
            {
             before(grammarAccess.getModelRule()); 
            pushFollow(FOLLOW_ruleModel_in_entryRuleModel61);
            ruleModel();
            _fsp--;

             after(grammarAccess.getModelRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleModel68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleModel


    // $ANTLR start ruleModel
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:70:1: ruleModel : ( ( rule__Model__ModulesAssignment )* ) ;
    public final void ruleModel() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:74:2: ( ( ( rule__Model__ModulesAssignment )* ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:75:1: ( ( rule__Model__ModulesAssignment )* )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:75:1: ( ( rule__Model__ModulesAssignment )* )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:76:1: ( rule__Model__ModulesAssignment )*
            {
             before(grammarAccess.getModelAccess().getModulesAssignment()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:77:1: ( rule__Model__ModulesAssignment )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( (LA1_0==15) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:77:2: rule__Model__ModulesAssignment
            	    {
            	    pushFollow(FOLLOW_rule__Model__ModulesAssignment_in_ruleModel94);
            	    rule__Model__ModulesAssignment();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);

             after(grammarAccess.getModelAccess().getModulesAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleModel


    // $ANTLR start entryRuleMappingModule
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:89:1: entryRuleMappingModule : ruleMappingModule EOF ;
    public final void entryRuleMappingModule() throws RecognitionException {
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:90:1: ( ruleMappingModule EOF )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:91:1: ruleMappingModule EOF
            {
             before(grammarAccess.getMappingModuleRule()); 
            pushFollow(FOLLOW_ruleMappingModule_in_entryRuleMappingModule122);
            ruleMappingModule();
            _fsp--;

             after(grammarAccess.getMappingModuleRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMappingModule129); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleMappingModule


    // $ANTLR start ruleMappingModule
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:98:1: ruleMappingModule : ( ( rule__MappingModule__Group__0 ) ) ;
    public final void ruleMappingModule() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:102:2: ( ( ( rule__MappingModule__Group__0 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:103:1: ( ( rule__MappingModule__Group__0 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:103:1: ( ( rule__MappingModule__Group__0 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:104:1: ( rule__MappingModule__Group__0 )
            {
             before(grammarAccess.getMappingModuleAccess().getGroup()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:105:1: ( rule__MappingModule__Group__0 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:105:2: rule__MappingModule__Group__0
            {
            pushFollow(FOLLOW_rule__MappingModule__Group__0_in_ruleMappingModule155);
            rule__MappingModule__Group__0();
            _fsp--;


            }

             after(grammarAccess.getMappingModuleAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleMappingModule


    // $ANTLR start entryRuleQID
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:117:1: entryRuleQID : ruleQID EOF ;
    public final void entryRuleQID() throws RecognitionException {
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:118:1: ( ruleQID EOF )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:119:1: ruleQID EOF
            {
             before(grammarAccess.getQIDRule()); 
            pushFollow(FOLLOW_ruleQID_in_entryRuleQID182);
            ruleQID();
            _fsp--;

             after(grammarAccess.getQIDRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleQID189); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleQID


    // $ANTLR start ruleQID
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:126:1: ruleQID : ( ( rule__QID__Group__0 ) ) ;
    public final void ruleQID() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:130:2: ( ( ( rule__QID__Group__0 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:131:1: ( ( rule__QID__Group__0 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:131:1: ( ( rule__QID__Group__0 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:132:1: ( rule__QID__Group__0 )
            {
             before(grammarAccess.getQIDAccess().getGroup()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:133:1: ( rule__QID__Group__0 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:133:2: rule__QID__Group__0
            {
            pushFollow(FOLLOW_rule__QID__Group__0_in_ruleQID215);
            rule__QID__Group__0();
            _fsp--;


            }

             after(grammarAccess.getQIDAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleQID


    // $ANTLR start entryRuleMapping
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:145:1: entryRuleMapping : ruleMapping EOF ;
    public final void entryRuleMapping() throws RecognitionException {
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:146:1: ( ruleMapping EOF )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:147:1: ruleMapping EOF
            {
             before(grammarAccess.getMappingRule()); 
            pushFollow(FOLLOW_ruleMapping_in_entryRuleMapping242);
            ruleMapping();
            _fsp--;

             after(grammarAccess.getMappingRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMapping249); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleMapping


    // $ANTLR start ruleMapping
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:154:1: ruleMapping : ( ( rule__Mapping__Group__0 ) ) ;
    public final void ruleMapping() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:158:2: ( ( ( rule__Mapping__Group__0 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:159:1: ( ( rule__Mapping__Group__0 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:159:1: ( ( rule__Mapping__Group__0 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:160:1: ( rule__Mapping__Group__0 )
            {
             before(grammarAccess.getMappingAccess().getGroup()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:161:1: ( rule__Mapping__Group__0 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:161:2: rule__Mapping__Group__0
            {
            pushFollow(FOLLOW_rule__Mapping__Group__0_in_ruleMapping275);
            rule__Mapping__Group__0();
            _fsp--;


            }

             after(grammarAccess.getMappingAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleMapping


    // $ANTLR start entryRuleFeatureMap
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:173:1: entryRuleFeatureMap : ruleFeatureMap EOF ;
    public final void entryRuleFeatureMap() throws RecognitionException {
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:174:1: ( ruleFeatureMap EOF )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:175:1: ruleFeatureMap EOF
            {
             before(grammarAccess.getFeatureMapRule()); 
            pushFollow(FOLLOW_ruleFeatureMap_in_entryRuleFeatureMap302);
            ruleFeatureMap();
            _fsp--;

             after(grammarAccess.getFeatureMapRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleFeatureMap309); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleFeatureMap


    // $ANTLR start ruleFeatureMap
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:182:1: ruleFeatureMap : ( ( rule__FeatureMap__Alternatives ) ) ;
    public final void ruleFeatureMap() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:186:2: ( ( ( rule__FeatureMap__Alternatives ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:187:1: ( ( rule__FeatureMap__Alternatives ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:187:1: ( ( rule__FeatureMap__Alternatives ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:188:1: ( rule__FeatureMap__Alternatives )
            {
             before(grammarAccess.getFeatureMapAccess().getAlternatives()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:189:1: ( rule__FeatureMap__Alternatives )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:189:2: rule__FeatureMap__Alternatives
            {
            pushFollow(FOLLOW_rule__FeatureMap__Alternatives_in_ruleFeatureMap335);
            rule__FeatureMap__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getFeatureMapAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleFeatureMap


    // $ANTLR start entryRuleExpression
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:203:1: entryRuleExpression : ruleExpression EOF ;
    public final void entryRuleExpression() throws RecognitionException {
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:204:1: ( ruleExpression EOF )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:205:1: ruleExpression EOF
            {
             before(grammarAccess.getExpressionRule()); 
            pushFollow(FOLLOW_ruleExpression_in_entryRuleExpression364);
            ruleExpression();
            _fsp--;

             after(grammarAccess.getExpressionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleExpression371); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleExpression


    // $ANTLR start ruleExpression
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:212:1: ruleExpression : ( ( rule__Expression__Alternatives ) ) ;
    public final void ruleExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:216:2: ( ( ( rule__Expression__Alternatives ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:217:1: ( ( rule__Expression__Alternatives ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:217:1: ( ( rule__Expression__Alternatives ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:218:1: ( rule__Expression__Alternatives )
            {
             before(grammarAccess.getExpressionAccess().getAlternatives()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:219:1: ( rule__Expression__Alternatives )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:219:2: rule__Expression__Alternatives
            {
            pushFollow(FOLLOW_rule__Expression__Alternatives_in_ruleExpression397);
            rule__Expression__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getExpressionAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleExpression


    // $ANTLR start rule__Mapping__CoverageAlternatives_0_0_0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:231:1: rule__Mapping__CoverageAlternatives_0_0_0 : ( ( 'complete' ) | ( 'partial' ) );
    public final void rule__Mapping__CoverageAlternatives_0_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:235:1: ( ( 'complete' ) | ( 'partial' ) )
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==11) ) {
                alt2=1;
            }
            else if ( (LA2_0==12) ) {
                alt2=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("231:1: rule__Mapping__CoverageAlternatives_0_0_0 : ( ( 'complete' ) | ( 'partial' ) );", 2, 0, input);

                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:236:1: ( 'complete' )
                    {
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:236:1: ( 'complete' )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:237:1: 'complete'
                    {
                     before(grammarAccess.getMappingAccess().getCoverageCompleteKeyword_0_0_0_0()); 
                    match(input,11,FOLLOW_11_in_rule__Mapping__CoverageAlternatives_0_0_0434); 
                     after(grammarAccess.getMappingAccess().getCoverageCompleteKeyword_0_0_0_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:244:6: ( 'partial' )
                    {
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:244:6: ( 'partial' )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:245:1: 'partial'
                    {
                     before(grammarAccess.getMappingAccess().getCoveragePartialKeyword_0_0_0_1()); 
                    match(input,12,FOLLOW_12_in_rule__Mapping__CoverageAlternatives_0_0_0454); 
                     after(grammarAccess.getMappingAccess().getCoveragePartialKeyword_0_0_0_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__CoverageAlternatives_0_0_0


    // $ANTLR start rule__Mapping__DirectionAlternatives_0_1_0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:257:1: rule__Mapping__DirectionAlternatives_0_1_0 : ( ( 'one-way' ) | ( 'bidi' ) );
    public final void rule__Mapping__DirectionAlternatives_0_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:261:1: ( ( 'one-way' ) | ( 'bidi' ) )
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==13) ) {
                alt3=1;
            }
            else if ( (LA3_0==14) ) {
                alt3=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("257:1: rule__Mapping__DirectionAlternatives_0_1_0 : ( ( 'one-way' ) | ( 'bidi' ) );", 3, 0, input);

                throw nvae;
            }
            switch (alt3) {
                case 1 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:262:1: ( 'one-way' )
                    {
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:262:1: ( 'one-way' )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:263:1: 'one-way'
                    {
                     before(grammarAccess.getMappingAccess().getDirectionOneWayKeyword_0_1_0_0()); 
                    match(input,13,FOLLOW_13_in_rule__Mapping__DirectionAlternatives_0_1_0489); 
                     after(grammarAccess.getMappingAccess().getDirectionOneWayKeyword_0_1_0_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:270:6: ( 'bidi' )
                    {
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:270:6: ( 'bidi' )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:271:1: 'bidi'
                    {
                     before(grammarAccess.getMappingAccess().getDirectionBidiKeyword_0_1_0_1()); 
                    match(input,14,FOLLOW_14_in_rule__Mapping__DirectionAlternatives_0_1_0509); 
                     after(grammarAccess.getMappingAccess().getDirectionBidiKeyword_0_1_0_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__DirectionAlternatives_0_1_0


    // $ANTLR start rule__FeatureMap__Alternatives
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:283:1: rule__FeatureMap__Alternatives : ( ( ( rule__FeatureMap__Group_0__0 ) ) | ( ( rule__FeatureMap__Group_1__0 ) ) | ( ( rule__FeatureMap__Group_2__0 ) ) | ( ( rule__FeatureMap__Group_3__0 ) ) | ( ( rule__FeatureMap__Group_4__0 ) ) | ( ( rule__FeatureMap__Group_5__0 ) ) | ( ( rule__FeatureMap__Group_6__0 ) ) );
    public final void rule__FeatureMap__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:287:1: ( ( ( rule__FeatureMap__Group_0__0 ) ) | ( ( rule__FeatureMap__Group_1__0 ) ) | ( ( rule__FeatureMap__Group_2__0 ) ) | ( ( rule__FeatureMap__Group_3__0 ) ) | ( ( rule__FeatureMap__Group_4__0 ) ) | ( ( rule__FeatureMap__Group_5__0 ) ) | ( ( rule__FeatureMap__Group_6__0 ) ) )
            int alt4=7;
            switch ( input.LA(1) ) {
            case 23:
                {
                alt4=1;
                }
                break;
            case 25:
                {
                alt4=2;
                }
                break;
            case 27:
                {
                alt4=3;
                }
                break;
            case 28:
                {
                int LA4_4 = input.LA(2);

                if ( (LA4_4==23) ) {
                    int LA4_6 = input.LA(3);

                    if ( (LA4_6==25) ) {
                        alt4=4;
                    }
                    else if ( (LA4_6==27) ) {
                        alt4=5;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("283:1: rule__FeatureMap__Alternatives : ( ( ( rule__FeatureMap__Group_0__0 ) ) | ( ( rule__FeatureMap__Group_1__0 ) ) | ( ( rule__FeatureMap__Group_2__0 ) ) | ( ( rule__FeatureMap__Group_3__0 ) ) | ( ( rule__FeatureMap__Group_4__0 ) ) | ( ( rule__FeatureMap__Group_5__0 ) ) | ( ( rule__FeatureMap__Group_6__0 ) ) );", 4, 6, input);

                        throw nvae;
                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("283:1: rule__FeatureMap__Alternatives : ( ( ( rule__FeatureMap__Group_0__0 ) ) | ( ( rule__FeatureMap__Group_1__0 ) ) | ( ( rule__FeatureMap__Group_2__0 ) ) | ( ( rule__FeatureMap__Group_3__0 ) ) | ( ( rule__FeatureMap__Group_4__0 ) ) | ( ( rule__FeatureMap__Group_5__0 ) ) | ( ( rule__FeatureMap__Group_6__0 ) ) );", 4, 4, input);

                    throw nvae;
                }
                }
                break;
            case 29:
                {
                int LA4_5 = input.LA(2);

                if ( (LA4_5==27) ) {
                    alt4=7;
                }
                else if ( (LA4_5==25) ) {
                    alt4=6;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("283:1: rule__FeatureMap__Alternatives : ( ( ( rule__FeatureMap__Group_0__0 ) ) | ( ( rule__FeatureMap__Group_1__0 ) ) | ( ( rule__FeatureMap__Group_2__0 ) ) | ( ( rule__FeatureMap__Group_3__0 ) ) | ( ( rule__FeatureMap__Group_4__0 ) ) | ( ( rule__FeatureMap__Group_5__0 ) ) | ( ( rule__FeatureMap__Group_6__0 ) ) );", 4, 5, input);

                    throw nvae;
                }
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("283:1: rule__FeatureMap__Alternatives : ( ( ( rule__FeatureMap__Group_0__0 ) ) | ( ( rule__FeatureMap__Group_1__0 ) ) | ( ( rule__FeatureMap__Group_2__0 ) ) | ( ( rule__FeatureMap__Group_3__0 ) ) | ( ( rule__FeatureMap__Group_4__0 ) ) | ( ( rule__FeatureMap__Group_5__0 ) ) | ( ( rule__FeatureMap__Group_6__0 ) ) );", 4, 0, input);

                throw nvae;
            }

            switch (alt4) {
                case 1 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:288:1: ( ( rule__FeatureMap__Group_0__0 ) )
                    {
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:288:1: ( ( rule__FeatureMap__Group_0__0 ) )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:289:1: ( rule__FeatureMap__Group_0__0 )
                    {
                     before(grammarAccess.getFeatureMapAccess().getGroup_0()); 
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:290:1: ( rule__FeatureMap__Group_0__0 )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:290:2: rule__FeatureMap__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__FeatureMap__Group_0__0_in_rule__FeatureMap__Alternatives543);
                    rule__FeatureMap__Group_0__0();
                    _fsp--;


                    }

                     after(grammarAccess.getFeatureMapAccess().getGroup_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:294:6: ( ( rule__FeatureMap__Group_1__0 ) )
                    {
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:294:6: ( ( rule__FeatureMap__Group_1__0 ) )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:295:1: ( rule__FeatureMap__Group_1__0 )
                    {
                     before(grammarAccess.getFeatureMapAccess().getGroup_1()); 
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:296:1: ( rule__FeatureMap__Group_1__0 )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:296:2: rule__FeatureMap__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__FeatureMap__Group_1__0_in_rule__FeatureMap__Alternatives561);
                    rule__FeatureMap__Group_1__0();
                    _fsp--;


                    }

                     after(grammarAccess.getFeatureMapAccess().getGroup_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:300:6: ( ( rule__FeatureMap__Group_2__0 ) )
                    {
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:300:6: ( ( rule__FeatureMap__Group_2__0 ) )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:301:1: ( rule__FeatureMap__Group_2__0 )
                    {
                     before(grammarAccess.getFeatureMapAccess().getGroup_2()); 
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:302:1: ( rule__FeatureMap__Group_2__0 )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:302:2: rule__FeatureMap__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__FeatureMap__Group_2__0_in_rule__FeatureMap__Alternatives579);
                    rule__FeatureMap__Group_2__0();
                    _fsp--;


                    }

                     after(grammarAccess.getFeatureMapAccess().getGroup_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:306:6: ( ( rule__FeatureMap__Group_3__0 ) )
                    {
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:306:6: ( ( rule__FeatureMap__Group_3__0 ) )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:307:1: ( rule__FeatureMap__Group_3__0 )
                    {
                     before(grammarAccess.getFeatureMapAccess().getGroup_3()); 
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:308:1: ( rule__FeatureMap__Group_3__0 )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:308:2: rule__FeatureMap__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__FeatureMap__Group_3__0_in_rule__FeatureMap__Alternatives597);
                    rule__FeatureMap__Group_3__0();
                    _fsp--;


                    }

                     after(grammarAccess.getFeatureMapAccess().getGroup_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:312:6: ( ( rule__FeatureMap__Group_4__0 ) )
                    {
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:312:6: ( ( rule__FeatureMap__Group_4__0 ) )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:313:1: ( rule__FeatureMap__Group_4__0 )
                    {
                     before(grammarAccess.getFeatureMapAccess().getGroup_4()); 
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:314:1: ( rule__FeatureMap__Group_4__0 )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:314:2: rule__FeatureMap__Group_4__0
                    {
                    pushFollow(FOLLOW_rule__FeatureMap__Group_4__0_in_rule__FeatureMap__Alternatives615);
                    rule__FeatureMap__Group_4__0();
                    _fsp--;


                    }

                     after(grammarAccess.getFeatureMapAccess().getGroup_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:318:6: ( ( rule__FeatureMap__Group_5__0 ) )
                    {
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:318:6: ( ( rule__FeatureMap__Group_5__0 ) )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:319:1: ( rule__FeatureMap__Group_5__0 )
                    {
                     before(grammarAccess.getFeatureMapAccess().getGroup_5()); 
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:320:1: ( rule__FeatureMap__Group_5__0 )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:320:2: rule__FeatureMap__Group_5__0
                    {
                    pushFollow(FOLLOW_rule__FeatureMap__Group_5__0_in_rule__FeatureMap__Alternatives633);
                    rule__FeatureMap__Group_5__0();
                    _fsp--;


                    }

                     after(grammarAccess.getFeatureMapAccess().getGroup_5()); 

                    }


                    }
                    break;
                case 7 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:324:6: ( ( rule__FeatureMap__Group_6__0 ) )
                    {
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:324:6: ( ( rule__FeatureMap__Group_6__0 ) )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:325:1: ( rule__FeatureMap__Group_6__0 )
                    {
                     before(grammarAccess.getFeatureMapAccess().getGroup_6()); 
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:326:1: ( rule__FeatureMap__Group_6__0 )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:326:2: rule__FeatureMap__Group_6__0
                    {
                    pushFollow(FOLLOW_rule__FeatureMap__Group_6__0_in_rule__FeatureMap__Alternatives651);
                    rule__FeatureMap__Group_6__0();
                    _fsp--;


                    }

                     after(grammarAccess.getFeatureMapAccess().getGroup_6()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Alternatives


    // $ANTLR start rule__Expression__Alternatives
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:335:1: rule__Expression__Alternatives : ( ( ( rule__Expression__ValueAssignment_0 ) ) | ( ( rule__Expression__IntValueAssignment_1 ) ) );
    public final void rule__Expression__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:339:1: ( ( ( rule__Expression__ValueAssignment_0 ) ) | ( ( rule__Expression__IntValueAssignment_1 ) ) )
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( (LA5_0==RULE_STRING) ) {
                alt5=1;
            }
            else if ( (LA5_0==RULE_INT) ) {
                alt5=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("335:1: rule__Expression__Alternatives : ( ( ( rule__Expression__ValueAssignment_0 ) ) | ( ( rule__Expression__IntValueAssignment_1 ) ) );", 5, 0, input);

                throw nvae;
            }
            switch (alt5) {
                case 1 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:340:1: ( ( rule__Expression__ValueAssignment_0 ) )
                    {
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:340:1: ( ( rule__Expression__ValueAssignment_0 ) )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:341:1: ( rule__Expression__ValueAssignment_0 )
                    {
                     before(grammarAccess.getExpressionAccess().getValueAssignment_0()); 
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:342:1: ( rule__Expression__ValueAssignment_0 )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:342:2: rule__Expression__ValueAssignment_0
                    {
                    pushFollow(FOLLOW_rule__Expression__ValueAssignment_0_in_rule__Expression__Alternatives684);
                    rule__Expression__ValueAssignment_0();
                    _fsp--;


                    }

                     after(grammarAccess.getExpressionAccess().getValueAssignment_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:346:6: ( ( rule__Expression__IntValueAssignment_1 ) )
                    {
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:346:6: ( ( rule__Expression__IntValueAssignment_1 ) )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:347:1: ( rule__Expression__IntValueAssignment_1 )
                    {
                     before(grammarAccess.getExpressionAccess().getIntValueAssignment_1()); 
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:348:1: ( rule__Expression__IntValueAssignment_1 )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:348:2: rule__Expression__IntValueAssignment_1
                    {
                    pushFollow(FOLLOW_rule__Expression__IntValueAssignment_1_in_rule__Expression__Alternatives702);
                    rule__Expression__IntValueAssignment_1();
                    _fsp--;


                    }

                     after(grammarAccess.getExpressionAccess().getIntValueAssignment_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__Alternatives


    // $ANTLR start rule__MappingModule__Group__0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:359:1: rule__MappingModule__Group__0 : rule__MappingModule__Group__0__Impl rule__MappingModule__Group__1 ;
    public final void rule__MappingModule__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:363:1: ( rule__MappingModule__Group__0__Impl rule__MappingModule__Group__1 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:364:2: rule__MappingModule__Group__0__Impl rule__MappingModule__Group__1
            {
            pushFollow(FOLLOW_rule__MappingModule__Group__0__Impl_in_rule__MappingModule__Group__0733);
            rule__MappingModule__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__MappingModule__Group__1_in_rule__MappingModule__Group__0736);
            rule__MappingModule__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MappingModule__Group__0


    // $ANTLR start rule__MappingModule__Group__0__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:371:1: rule__MappingModule__Group__0__Impl : ( () ) ;
    public final void rule__MappingModule__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:375:1: ( ( () ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:376:1: ( () )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:376:1: ( () )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:377:1: ()
            {
             before(grammarAccess.getMappingModuleAccess().getMappingModuleAction_0()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:378:1: ()
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:380:1: 
            {
            }

             after(grammarAccess.getMappingModuleAccess().getMappingModuleAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MappingModule__Group__0__Impl


    // $ANTLR start rule__MappingModule__Group__1
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:390:1: rule__MappingModule__Group__1 : rule__MappingModule__Group__1__Impl rule__MappingModule__Group__2 ;
    public final void rule__MappingModule__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:394:1: ( rule__MappingModule__Group__1__Impl rule__MappingModule__Group__2 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:395:2: rule__MappingModule__Group__1__Impl rule__MappingModule__Group__2
            {
            pushFollow(FOLLOW_rule__MappingModule__Group__1__Impl_in_rule__MappingModule__Group__1794);
            rule__MappingModule__Group__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__MappingModule__Group__2_in_rule__MappingModule__Group__1797);
            rule__MappingModule__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MappingModule__Group__1


    // $ANTLR start rule__MappingModule__Group__1__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:402:1: rule__MappingModule__Group__1__Impl : ( 'module' ) ;
    public final void rule__MappingModule__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:406:1: ( ( 'module' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:407:1: ( 'module' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:407:1: ( 'module' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:408:1: 'module'
            {
             before(grammarAccess.getMappingModuleAccess().getModuleKeyword_1()); 
            match(input,15,FOLLOW_15_in_rule__MappingModule__Group__1__Impl825); 
             after(grammarAccess.getMappingModuleAccess().getModuleKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MappingModule__Group__1__Impl


    // $ANTLR start rule__MappingModule__Group__2
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:421:1: rule__MappingModule__Group__2 : rule__MappingModule__Group__2__Impl rule__MappingModule__Group__3 ;
    public final void rule__MappingModule__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:425:1: ( rule__MappingModule__Group__2__Impl rule__MappingModule__Group__3 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:426:2: rule__MappingModule__Group__2__Impl rule__MappingModule__Group__3
            {
            pushFollow(FOLLOW_rule__MappingModule__Group__2__Impl_in_rule__MappingModule__Group__2856);
            rule__MappingModule__Group__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__MappingModule__Group__3_in_rule__MappingModule__Group__2859);
            rule__MappingModule__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MappingModule__Group__2


    // $ANTLR start rule__MappingModule__Group__2__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:433:1: rule__MappingModule__Group__2__Impl : ( ( rule__MappingModule__ModuleNameAssignment_2 ) ) ;
    public final void rule__MappingModule__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:437:1: ( ( ( rule__MappingModule__ModuleNameAssignment_2 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:438:1: ( ( rule__MappingModule__ModuleNameAssignment_2 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:438:1: ( ( rule__MappingModule__ModuleNameAssignment_2 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:439:1: ( rule__MappingModule__ModuleNameAssignment_2 )
            {
             before(grammarAccess.getMappingModuleAccess().getModuleNameAssignment_2()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:440:1: ( rule__MappingModule__ModuleNameAssignment_2 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:440:2: rule__MappingModule__ModuleNameAssignment_2
            {
            pushFollow(FOLLOW_rule__MappingModule__ModuleNameAssignment_2_in_rule__MappingModule__Group__2__Impl886);
            rule__MappingModule__ModuleNameAssignment_2();
            _fsp--;


            }

             after(grammarAccess.getMappingModuleAccess().getModuleNameAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MappingModule__Group__2__Impl


    // $ANTLR start rule__MappingModule__Group__3
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:450:1: rule__MappingModule__Group__3 : rule__MappingModule__Group__3__Impl ;
    public final void rule__MappingModule__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:454:1: ( rule__MappingModule__Group__3__Impl )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:455:2: rule__MappingModule__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__MappingModule__Group__3__Impl_in_rule__MappingModule__Group__3916);
            rule__MappingModule__Group__3__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MappingModule__Group__3


    // $ANTLR start rule__MappingModule__Group__3__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:461:1: rule__MappingModule__Group__3__Impl : ( ( rule__MappingModule__MappersAssignment_3 )* ) ;
    public final void rule__MappingModule__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:465:1: ( ( ( rule__MappingModule__MappersAssignment_3 )* ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:466:1: ( ( rule__MappingModule__MappersAssignment_3 )* )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:466:1: ( ( rule__MappingModule__MappersAssignment_3 )* )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:467:1: ( rule__MappingModule__MappersAssignment_3 )*
            {
             before(grammarAccess.getMappingModuleAccess().getMappersAssignment_3()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:468:1: ( rule__MappingModule__MappersAssignment_3 )*
            loop6:
            do {
                int alt6=2;
                int LA6_0 = input.LA(1);

                if ( LA6_0 >=11 && LA6_0<=12 && getUnorderedGroupHelper().canSelect(grammarAccess.getMappingAccess().getUnorderedGroup_0(), 0) ) {
                    alt6=1;
                }
                else if ( LA6_0 >=13 && LA6_0<=14 && getUnorderedGroupHelper().canSelect(grammarAccess.getMappingAccess().getUnorderedGroup_0(), 1) ) {
                    alt6=1;
                }


                switch (alt6) {
            	case 1 :
            	    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:468:2: rule__MappingModule__MappersAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__MappingModule__MappersAssignment_3_in_rule__MappingModule__Group__3__Impl943);
            	    rule__MappingModule__MappersAssignment_3();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop6;
                }
            } while (true);

             after(grammarAccess.getMappingModuleAccess().getMappersAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MappingModule__Group__3__Impl


    // $ANTLR start rule__QID__Group__0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:486:1: rule__QID__Group__0 : rule__QID__Group__0__Impl rule__QID__Group__1 ;
    public final void rule__QID__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:490:1: ( rule__QID__Group__0__Impl rule__QID__Group__1 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:491:2: rule__QID__Group__0__Impl rule__QID__Group__1
            {
            pushFollow(FOLLOW_rule__QID__Group__0__Impl_in_rule__QID__Group__0982);
            rule__QID__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__QID__Group__1_in_rule__QID__Group__0985);
            rule__QID__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QID__Group__0


    // $ANTLR start rule__QID__Group__0__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:498:1: rule__QID__Group__0__Impl : ( RULE_ID ) ;
    public final void rule__QID__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:502:1: ( ( RULE_ID ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:503:1: ( RULE_ID )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:503:1: ( RULE_ID )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:504:1: RULE_ID
            {
             before(grammarAccess.getQIDAccess().getIDTerminalRuleCall_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__QID__Group__0__Impl1012); 
             after(grammarAccess.getQIDAccess().getIDTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QID__Group__0__Impl


    // $ANTLR start rule__QID__Group__1
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:515:1: rule__QID__Group__1 : rule__QID__Group__1__Impl ;
    public final void rule__QID__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:519:1: ( rule__QID__Group__1__Impl )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:520:2: rule__QID__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__QID__Group__1__Impl_in_rule__QID__Group__11041);
            rule__QID__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QID__Group__1


    // $ANTLR start rule__QID__Group__1__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:526:1: rule__QID__Group__1__Impl : ( ( rule__QID__Group_1__0 )* ) ;
    public final void rule__QID__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:530:1: ( ( ( rule__QID__Group_1__0 )* ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:531:1: ( ( rule__QID__Group_1__0 )* )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:531:1: ( ( rule__QID__Group_1__0 )* )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:532:1: ( rule__QID__Group_1__0 )*
            {
             before(grammarAccess.getQIDAccess().getGroup_1()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:533:1: ( rule__QID__Group_1__0 )*
            loop7:
            do {
                int alt7=2;
                int LA7_0 = input.LA(1);

                if ( (LA7_0==16) ) {
                    alt7=1;
                }


                switch (alt7) {
            	case 1 :
            	    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:533:2: rule__QID__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__QID__Group_1__0_in_rule__QID__Group__1__Impl1068);
            	    rule__QID__Group_1__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop7;
                }
            } while (true);

             after(grammarAccess.getQIDAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QID__Group__1__Impl


    // $ANTLR start rule__QID__Group_1__0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:547:1: rule__QID__Group_1__0 : rule__QID__Group_1__0__Impl rule__QID__Group_1__1 ;
    public final void rule__QID__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:551:1: ( rule__QID__Group_1__0__Impl rule__QID__Group_1__1 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:552:2: rule__QID__Group_1__0__Impl rule__QID__Group_1__1
            {
            pushFollow(FOLLOW_rule__QID__Group_1__0__Impl_in_rule__QID__Group_1__01103);
            rule__QID__Group_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__QID__Group_1__1_in_rule__QID__Group_1__01106);
            rule__QID__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QID__Group_1__0


    // $ANTLR start rule__QID__Group_1__0__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:559:1: rule__QID__Group_1__0__Impl : ( '.' ) ;
    public final void rule__QID__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:563:1: ( ( '.' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:564:1: ( '.' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:564:1: ( '.' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:565:1: '.'
            {
             before(grammarAccess.getQIDAccess().getFullStopKeyword_1_0()); 
            match(input,16,FOLLOW_16_in_rule__QID__Group_1__0__Impl1134); 
             after(grammarAccess.getQIDAccess().getFullStopKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QID__Group_1__0__Impl


    // $ANTLR start rule__QID__Group_1__1
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:578:1: rule__QID__Group_1__1 : rule__QID__Group_1__1__Impl ;
    public final void rule__QID__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:582:1: ( rule__QID__Group_1__1__Impl )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:583:2: rule__QID__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__QID__Group_1__1__Impl_in_rule__QID__Group_1__11165);
            rule__QID__Group_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QID__Group_1__1


    // $ANTLR start rule__QID__Group_1__1__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:589:1: rule__QID__Group_1__1__Impl : ( RULE_ID ) ;
    public final void rule__QID__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:593:1: ( ( RULE_ID ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:594:1: ( RULE_ID )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:594:1: ( RULE_ID )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:595:1: RULE_ID
            {
             before(grammarAccess.getQIDAccess().getIDTerminalRuleCall_1_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__QID__Group_1__1__Impl1192); 
             after(grammarAccess.getQIDAccess().getIDTerminalRuleCall_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__QID__Group_1__1__Impl


    // $ANTLR start rule__Mapping__Group__0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:610:1: rule__Mapping__Group__0 : rule__Mapping__Group__0__Impl rule__Mapping__Group__1 ;
    public final void rule__Mapping__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:614:1: ( rule__Mapping__Group__0__Impl rule__Mapping__Group__1 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:615:2: rule__Mapping__Group__0__Impl rule__Mapping__Group__1
            {
            pushFollow(FOLLOW_rule__Mapping__Group__0__Impl_in_rule__Mapping__Group__01225);
            rule__Mapping__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Mapping__Group__1_in_rule__Mapping__Group__01228);
            rule__Mapping__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__0


    // $ANTLR start rule__Mapping__Group__0__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:622:1: rule__Mapping__Group__0__Impl : ( ( rule__Mapping__UnorderedGroup_0 ) ) ;
    public final void rule__Mapping__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:626:1: ( ( ( rule__Mapping__UnorderedGroup_0 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:627:1: ( ( rule__Mapping__UnorderedGroup_0 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:627:1: ( ( rule__Mapping__UnorderedGroup_0 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:628:1: ( rule__Mapping__UnorderedGroup_0 )
            {
             before(grammarAccess.getMappingAccess().getUnorderedGroup_0()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:629:1: ( rule__Mapping__UnorderedGroup_0 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:629:2: rule__Mapping__UnorderedGroup_0
            {
            pushFollow(FOLLOW_rule__Mapping__UnorderedGroup_0_in_rule__Mapping__Group__0__Impl1255);
            rule__Mapping__UnorderedGroup_0();
            _fsp--;


            }

             after(grammarAccess.getMappingAccess().getUnorderedGroup_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__0__Impl


    // $ANTLR start rule__Mapping__Group__1
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:639:1: rule__Mapping__Group__1 : rule__Mapping__Group__1__Impl rule__Mapping__Group__2 ;
    public final void rule__Mapping__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:643:1: ( rule__Mapping__Group__1__Impl rule__Mapping__Group__2 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:644:2: rule__Mapping__Group__1__Impl rule__Mapping__Group__2
            {
            pushFollow(FOLLOW_rule__Mapping__Group__1__Impl_in_rule__Mapping__Group__11285);
            rule__Mapping__Group__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Mapping__Group__2_in_rule__Mapping__Group__11288);
            rule__Mapping__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__1


    // $ANTLR start rule__Mapping__Group__1__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:651:1: rule__Mapping__Group__1__Impl : ( 'mapper' ) ;
    public final void rule__Mapping__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:655:1: ( ( 'mapper' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:656:1: ( 'mapper' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:656:1: ( 'mapper' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:657:1: 'mapper'
            {
             before(grammarAccess.getMappingAccess().getMapperKeyword_1()); 
            match(input,17,FOLLOW_17_in_rule__Mapping__Group__1__Impl1316); 
             after(grammarAccess.getMappingAccess().getMapperKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__1__Impl


    // $ANTLR start rule__Mapping__Group__2
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:670:1: rule__Mapping__Group__2 : rule__Mapping__Group__2__Impl rule__Mapping__Group__3 ;
    public final void rule__Mapping__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:674:1: ( rule__Mapping__Group__2__Impl rule__Mapping__Group__3 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:675:2: rule__Mapping__Group__2__Impl rule__Mapping__Group__3
            {
            pushFollow(FOLLOW_rule__Mapping__Group__2__Impl_in_rule__Mapping__Group__21347);
            rule__Mapping__Group__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Mapping__Group__3_in_rule__Mapping__Group__21350);
            rule__Mapping__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__2


    // $ANTLR start rule__Mapping__Group__2__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:682:1: rule__Mapping__Group__2__Impl : ( ( rule__Mapping__NameAssignment_2 )? ) ;
    public final void rule__Mapping__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:686:1: ( ( ( rule__Mapping__NameAssignment_2 )? ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:687:1: ( ( rule__Mapping__NameAssignment_2 )? )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:687:1: ( ( rule__Mapping__NameAssignment_2 )? )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:688:1: ( rule__Mapping__NameAssignment_2 )?
            {
             before(grammarAccess.getMappingAccess().getNameAssignment_2()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:689:1: ( rule__Mapping__NameAssignment_2 )?
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==RULE_STRING) ) {
                alt8=1;
            }
            switch (alt8) {
                case 1 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:689:2: rule__Mapping__NameAssignment_2
                    {
                    pushFollow(FOLLOW_rule__Mapping__NameAssignment_2_in_rule__Mapping__Group__2__Impl1377);
                    rule__Mapping__NameAssignment_2();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getMappingAccess().getNameAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__2__Impl


    // $ANTLR start rule__Mapping__Group__3
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:699:1: rule__Mapping__Group__3 : rule__Mapping__Group__3__Impl rule__Mapping__Group__4 ;
    public final void rule__Mapping__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:703:1: ( rule__Mapping__Group__3__Impl rule__Mapping__Group__4 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:704:2: rule__Mapping__Group__3__Impl rule__Mapping__Group__4
            {
            pushFollow(FOLLOW_rule__Mapping__Group__3__Impl_in_rule__Mapping__Group__31408);
            rule__Mapping__Group__3__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Mapping__Group__4_in_rule__Mapping__Group__31411);
            rule__Mapping__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__3


    // $ANTLR start rule__Mapping__Group__3__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:711:1: rule__Mapping__Group__3__Impl : ( 'between' ) ;
    public final void rule__Mapping__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:715:1: ( ( 'between' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:716:1: ( 'between' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:716:1: ( 'between' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:717:1: 'between'
            {
             before(grammarAccess.getMappingAccess().getBetweenKeyword_3()); 
            match(input,18,FOLLOW_18_in_rule__Mapping__Group__3__Impl1439); 
             after(grammarAccess.getMappingAccess().getBetweenKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__3__Impl


    // $ANTLR start rule__Mapping__Group__4
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:730:1: rule__Mapping__Group__4 : rule__Mapping__Group__4__Impl rule__Mapping__Group__5 ;
    public final void rule__Mapping__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:734:1: ( rule__Mapping__Group__4__Impl rule__Mapping__Group__5 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:735:2: rule__Mapping__Group__4__Impl rule__Mapping__Group__5
            {
            pushFollow(FOLLOW_rule__Mapping__Group__4__Impl_in_rule__Mapping__Group__41470);
            rule__Mapping__Group__4__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Mapping__Group__5_in_rule__Mapping__Group__41473);
            rule__Mapping__Group__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__4


    // $ANTLR start rule__Mapping__Group__4__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:742:1: rule__Mapping__Group__4__Impl : ( ( rule__Mapping__LeftClassAssignment_4 ) ) ;
    public final void rule__Mapping__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:746:1: ( ( ( rule__Mapping__LeftClassAssignment_4 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:747:1: ( ( rule__Mapping__LeftClassAssignment_4 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:747:1: ( ( rule__Mapping__LeftClassAssignment_4 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:748:1: ( rule__Mapping__LeftClassAssignment_4 )
            {
             before(grammarAccess.getMappingAccess().getLeftClassAssignment_4()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:749:1: ( rule__Mapping__LeftClassAssignment_4 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:749:2: rule__Mapping__LeftClassAssignment_4
            {
            pushFollow(FOLLOW_rule__Mapping__LeftClassAssignment_4_in_rule__Mapping__Group__4__Impl1500);
            rule__Mapping__LeftClassAssignment_4();
            _fsp--;


            }

             after(grammarAccess.getMappingAccess().getLeftClassAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__4__Impl


    // $ANTLR start rule__Mapping__Group__5
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:759:1: rule__Mapping__Group__5 : rule__Mapping__Group__5__Impl rule__Mapping__Group__6 ;
    public final void rule__Mapping__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:763:1: ( rule__Mapping__Group__5__Impl rule__Mapping__Group__6 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:764:2: rule__Mapping__Group__5__Impl rule__Mapping__Group__6
            {
            pushFollow(FOLLOW_rule__Mapping__Group__5__Impl_in_rule__Mapping__Group__51530);
            rule__Mapping__Group__5__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Mapping__Group__6_in_rule__Mapping__Group__51533);
            rule__Mapping__Group__6();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__5


    // $ANTLR start rule__Mapping__Group__5__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:771:1: rule__Mapping__Group__5__Impl : ( 'and' ) ;
    public final void rule__Mapping__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:775:1: ( ( 'and' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:776:1: ( 'and' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:776:1: ( 'and' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:777:1: 'and'
            {
             before(grammarAccess.getMappingAccess().getAndKeyword_5()); 
            match(input,19,FOLLOW_19_in_rule__Mapping__Group__5__Impl1561); 
             after(grammarAccess.getMappingAccess().getAndKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__5__Impl


    // $ANTLR start rule__Mapping__Group__6
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:790:1: rule__Mapping__Group__6 : rule__Mapping__Group__6__Impl rule__Mapping__Group__7 ;
    public final void rule__Mapping__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:794:1: ( rule__Mapping__Group__6__Impl rule__Mapping__Group__7 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:795:2: rule__Mapping__Group__6__Impl rule__Mapping__Group__7
            {
            pushFollow(FOLLOW_rule__Mapping__Group__6__Impl_in_rule__Mapping__Group__61592);
            rule__Mapping__Group__6__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Mapping__Group__7_in_rule__Mapping__Group__61595);
            rule__Mapping__Group__7();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__6


    // $ANTLR start rule__Mapping__Group__6__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:802:1: rule__Mapping__Group__6__Impl : ( ( rule__Mapping__RightClassAssignment_6 ) ) ;
    public final void rule__Mapping__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:806:1: ( ( ( rule__Mapping__RightClassAssignment_6 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:807:1: ( ( rule__Mapping__RightClassAssignment_6 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:807:1: ( ( rule__Mapping__RightClassAssignment_6 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:808:1: ( rule__Mapping__RightClassAssignment_6 )
            {
             before(grammarAccess.getMappingAccess().getRightClassAssignment_6()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:809:1: ( rule__Mapping__RightClassAssignment_6 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:809:2: rule__Mapping__RightClassAssignment_6
            {
            pushFollow(FOLLOW_rule__Mapping__RightClassAssignment_6_in_rule__Mapping__Group__6__Impl1622);
            rule__Mapping__RightClassAssignment_6();
            _fsp--;


            }

             after(grammarAccess.getMappingAccess().getRightClassAssignment_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__6__Impl


    // $ANTLR start rule__Mapping__Group__7
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:819:1: rule__Mapping__Group__7 : rule__Mapping__Group__7__Impl rule__Mapping__Group__8 ;
    public final void rule__Mapping__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:823:1: ( rule__Mapping__Group__7__Impl rule__Mapping__Group__8 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:824:2: rule__Mapping__Group__7__Impl rule__Mapping__Group__8
            {
            pushFollow(FOLLOW_rule__Mapping__Group__7__Impl_in_rule__Mapping__Group__71652);
            rule__Mapping__Group__7__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Mapping__Group__8_in_rule__Mapping__Group__71655);
            rule__Mapping__Group__8();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__7


    // $ANTLR start rule__Mapping__Group__7__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:831:1: rule__Mapping__Group__7__Impl : ( '{' ) ;
    public final void rule__Mapping__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:835:1: ( ( '{' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:836:1: ( '{' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:836:1: ( '{' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:837:1: '{'
            {
             before(grammarAccess.getMappingAccess().getLeftCurlyBracketKeyword_7()); 
            match(input,20,FOLLOW_20_in_rule__Mapping__Group__7__Impl1683); 
             after(grammarAccess.getMappingAccess().getLeftCurlyBracketKeyword_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__7__Impl


    // $ANTLR start rule__Mapping__Group__8
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:850:1: rule__Mapping__Group__8 : rule__Mapping__Group__8__Impl rule__Mapping__Group__9 ;
    public final void rule__Mapping__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:854:1: ( rule__Mapping__Group__8__Impl rule__Mapping__Group__9 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:855:2: rule__Mapping__Group__8__Impl rule__Mapping__Group__9
            {
            pushFollow(FOLLOW_rule__Mapping__Group__8__Impl_in_rule__Mapping__Group__81714);
            rule__Mapping__Group__8__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Mapping__Group__9_in_rule__Mapping__Group__81717);
            rule__Mapping__Group__9();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__8


    // $ANTLR start rule__Mapping__Group__8__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:862:1: rule__Mapping__Group__8__Impl : ( ( rule__Mapping__Group_8__0 )* ) ;
    public final void rule__Mapping__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:866:1: ( ( ( rule__Mapping__Group_8__0 )* ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:867:1: ( ( rule__Mapping__Group_8__0 )* )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:867:1: ( ( rule__Mapping__Group_8__0 )* )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:868:1: ( rule__Mapping__Group_8__0 )*
            {
             before(grammarAccess.getMappingAccess().getGroup_8()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:869:1: ( rule__Mapping__Group_8__0 )*
            loop9:
            do {
                int alt9=2;
                int LA9_0 = input.LA(1);

                if ( (LA9_0==23||LA9_0==25||(LA9_0>=27 && LA9_0<=29)) ) {
                    alt9=1;
                }


                switch (alt9) {
            	case 1 :
            	    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:869:2: rule__Mapping__Group_8__0
            	    {
            	    pushFollow(FOLLOW_rule__Mapping__Group_8__0_in_rule__Mapping__Group__8__Impl1744);
            	    rule__Mapping__Group_8__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop9;
                }
            } while (true);

             after(grammarAccess.getMappingAccess().getGroup_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__8__Impl


    // $ANTLR start rule__Mapping__Group__9
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:879:1: rule__Mapping__Group__9 : rule__Mapping__Group__9__Impl ;
    public final void rule__Mapping__Group__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:883:1: ( rule__Mapping__Group__9__Impl )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:884:2: rule__Mapping__Group__9__Impl
            {
            pushFollow(FOLLOW_rule__Mapping__Group__9__Impl_in_rule__Mapping__Group__91775);
            rule__Mapping__Group__9__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__9


    // $ANTLR start rule__Mapping__Group__9__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:890:1: rule__Mapping__Group__9__Impl : ( '}' ) ;
    public final void rule__Mapping__Group__9__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:894:1: ( ( '}' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:895:1: ( '}' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:895:1: ( '}' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:896:1: '}'
            {
             before(grammarAccess.getMappingAccess().getRightCurlyBracketKeyword_9()); 
            match(input,21,FOLLOW_21_in_rule__Mapping__Group__9__Impl1803); 
             after(grammarAccess.getMappingAccess().getRightCurlyBracketKeyword_9()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group__9__Impl


    // $ANTLR start rule__Mapping__Group_8__0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:929:1: rule__Mapping__Group_8__0 : rule__Mapping__Group_8__0__Impl rule__Mapping__Group_8__1 ;
    public final void rule__Mapping__Group_8__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:933:1: ( rule__Mapping__Group_8__0__Impl rule__Mapping__Group_8__1 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:934:2: rule__Mapping__Group_8__0__Impl rule__Mapping__Group_8__1
            {
            pushFollow(FOLLOW_rule__Mapping__Group_8__0__Impl_in_rule__Mapping__Group_8__01854);
            rule__Mapping__Group_8__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Mapping__Group_8__1_in_rule__Mapping__Group_8__01857);
            rule__Mapping__Group_8__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group_8__0


    // $ANTLR start rule__Mapping__Group_8__0__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:941:1: rule__Mapping__Group_8__0__Impl : ( ( rule__Mapping__MappedFeaturesAssignment_8_0 ) ) ;
    public final void rule__Mapping__Group_8__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:945:1: ( ( ( rule__Mapping__MappedFeaturesAssignment_8_0 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:946:1: ( ( rule__Mapping__MappedFeaturesAssignment_8_0 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:946:1: ( ( rule__Mapping__MappedFeaturesAssignment_8_0 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:947:1: ( rule__Mapping__MappedFeaturesAssignment_8_0 )
            {
             before(grammarAccess.getMappingAccess().getMappedFeaturesAssignment_8_0()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:948:1: ( rule__Mapping__MappedFeaturesAssignment_8_0 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:948:2: rule__Mapping__MappedFeaturesAssignment_8_0
            {
            pushFollow(FOLLOW_rule__Mapping__MappedFeaturesAssignment_8_0_in_rule__Mapping__Group_8__0__Impl1884);
            rule__Mapping__MappedFeaturesAssignment_8_0();
            _fsp--;


            }

             after(grammarAccess.getMappingAccess().getMappedFeaturesAssignment_8_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group_8__0__Impl


    // $ANTLR start rule__Mapping__Group_8__1
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:958:1: rule__Mapping__Group_8__1 : rule__Mapping__Group_8__1__Impl ;
    public final void rule__Mapping__Group_8__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:962:1: ( rule__Mapping__Group_8__1__Impl )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:963:2: rule__Mapping__Group_8__1__Impl
            {
            pushFollow(FOLLOW_rule__Mapping__Group_8__1__Impl_in_rule__Mapping__Group_8__11914);
            rule__Mapping__Group_8__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group_8__1


    // $ANTLR start rule__Mapping__Group_8__1__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:969:1: rule__Mapping__Group_8__1__Impl : ( ( ';' )? ) ;
    public final void rule__Mapping__Group_8__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:973:1: ( ( ( ';' )? ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:974:1: ( ( ';' )? )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:974:1: ( ( ';' )? )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:975:1: ( ';' )?
            {
             before(grammarAccess.getMappingAccess().getSemicolonKeyword_8_1()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:976:1: ( ';' )?
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==22) ) {
                alt10=1;
            }
            switch (alt10) {
                case 1 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:977:2: ';'
                    {
                    match(input,22,FOLLOW_22_in_rule__Mapping__Group_8__1__Impl1943); 

                    }
                    break;

            }

             after(grammarAccess.getMappingAccess().getSemicolonKeyword_8_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__Group_8__1__Impl


    // $ANTLR start rule__FeatureMap__Group_0__0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:992:1: rule__FeatureMap__Group_0__0 : rule__FeatureMap__Group_0__0__Impl rule__FeatureMap__Group_0__1 ;
    public final void rule__FeatureMap__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:996:1: ( rule__FeatureMap__Group_0__0__Impl rule__FeatureMap__Group_0__1 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:997:2: rule__FeatureMap__Group_0__0__Impl rule__FeatureMap__Group_0__1
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_0__0__Impl_in_rule__FeatureMap__Group_0__01980);
            rule__FeatureMap__Group_0__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_0__1_in_rule__FeatureMap__Group_0__01983);
            rule__FeatureMap__Group_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_0__0


    // $ANTLR start rule__FeatureMap__Group_0__0__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1004:1: rule__FeatureMap__Group_0__0__Impl : ( 'map' ) ;
    public final void rule__FeatureMap__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1008:1: ( ( 'map' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1009:1: ( 'map' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1009:1: ( 'map' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1010:1: 'map'
            {
             before(grammarAccess.getFeatureMapAccess().getMapKeyword_0_0()); 
            match(input,23,FOLLOW_23_in_rule__FeatureMap__Group_0__0__Impl2011); 
             after(grammarAccess.getFeatureMapAccess().getMapKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_0__0__Impl


    // $ANTLR start rule__FeatureMap__Group_0__1
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1023:1: rule__FeatureMap__Group_0__1 : rule__FeatureMap__Group_0__1__Impl rule__FeatureMap__Group_0__2 ;
    public final void rule__FeatureMap__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1027:1: ( rule__FeatureMap__Group_0__1__Impl rule__FeatureMap__Group_0__2 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1028:2: rule__FeatureMap__Group_0__1__Impl rule__FeatureMap__Group_0__2
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_0__1__Impl_in_rule__FeatureMap__Group_0__12042);
            rule__FeatureMap__Group_0__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_0__2_in_rule__FeatureMap__Group_0__12045);
            rule__FeatureMap__Group_0__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_0__1


    // $ANTLR start rule__FeatureMap__Group_0__1__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1035:1: rule__FeatureMap__Group_0__1__Impl : ( ( rule__FeatureMap__LeftFieldAssignment_0_1 ) ) ;
    public final void rule__FeatureMap__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1039:1: ( ( ( rule__FeatureMap__LeftFieldAssignment_0_1 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1040:1: ( ( rule__FeatureMap__LeftFieldAssignment_0_1 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1040:1: ( ( rule__FeatureMap__LeftFieldAssignment_0_1 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1041:1: ( rule__FeatureMap__LeftFieldAssignment_0_1 )
            {
             before(grammarAccess.getFeatureMapAccess().getLeftFieldAssignment_0_1()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1042:1: ( rule__FeatureMap__LeftFieldAssignment_0_1 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1042:2: rule__FeatureMap__LeftFieldAssignment_0_1
            {
            pushFollow(FOLLOW_rule__FeatureMap__LeftFieldAssignment_0_1_in_rule__FeatureMap__Group_0__1__Impl2072);
            rule__FeatureMap__LeftFieldAssignment_0_1();
            _fsp--;


            }

             after(grammarAccess.getFeatureMapAccess().getLeftFieldAssignment_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_0__1__Impl


    // $ANTLR start rule__FeatureMap__Group_0__2
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1052:1: rule__FeatureMap__Group_0__2 : rule__FeatureMap__Group_0__2__Impl rule__FeatureMap__Group_0__3 ;
    public final void rule__FeatureMap__Group_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1056:1: ( rule__FeatureMap__Group_0__2__Impl rule__FeatureMap__Group_0__3 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1057:2: rule__FeatureMap__Group_0__2__Impl rule__FeatureMap__Group_0__3
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_0__2__Impl_in_rule__FeatureMap__Group_0__22102);
            rule__FeatureMap__Group_0__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_0__3_in_rule__FeatureMap__Group_0__22105);
            rule__FeatureMap__Group_0__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_0__2


    // $ANTLR start rule__FeatureMap__Group_0__2__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1064:1: rule__FeatureMap__Group_0__2__Impl : ( '<=>' ) ;
    public final void rule__FeatureMap__Group_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1068:1: ( ( '<=>' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1069:1: ( '<=>' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1069:1: ( '<=>' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1070:1: '<=>'
            {
             before(grammarAccess.getFeatureMapAccess().getLessThanSignEqualsSignGreaterThanSignKeyword_0_2()); 
            match(input,24,FOLLOW_24_in_rule__FeatureMap__Group_0__2__Impl2133); 
             after(grammarAccess.getFeatureMapAccess().getLessThanSignEqualsSignGreaterThanSignKeyword_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_0__2__Impl


    // $ANTLR start rule__FeatureMap__Group_0__3
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1083:1: rule__FeatureMap__Group_0__3 : rule__FeatureMap__Group_0__3__Impl ;
    public final void rule__FeatureMap__Group_0__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1087:1: ( rule__FeatureMap__Group_0__3__Impl )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1088:2: rule__FeatureMap__Group_0__3__Impl
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_0__3__Impl_in_rule__FeatureMap__Group_0__32164);
            rule__FeatureMap__Group_0__3__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_0__3


    // $ANTLR start rule__FeatureMap__Group_0__3__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1094:1: rule__FeatureMap__Group_0__3__Impl : ( ( rule__FeatureMap__RightFieldAssignment_0_3 ) ) ;
    public final void rule__FeatureMap__Group_0__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1098:1: ( ( ( rule__FeatureMap__RightFieldAssignment_0_3 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1099:1: ( ( rule__FeatureMap__RightFieldAssignment_0_3 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1099:1: ( ( rule__FeatureMap__RightFieldAssignment_0_3 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1100:1: ( rule__FeatureMap__RightFieldAssignment_0_3 )
            {
             before(grammarAccess.getFeatureMapAccess().getRightFieldAssignment_0_3()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1101:1: ( rule__FeatureMap__RightFieldAssignment_0_3 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1101:2: rule__FeatureMap__RightFieldAssignment_0_3
            {
            pushFollow(FOLLOW_rule__FeatureMap__RightFieldAssignment_0_3_in_rule__FeatureMap__Group_0__3__Impl2191);
            rule__FeatureMap__RightFieldAssignment_0_3();
            _fsp--;


            }

             after(grammarAccess.getFeatureMapAccess().getRightFieldAssignment_0_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_0__3__Impl


    // $ANTLR start rule__FeatureMap__Group_1__0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1119:1: rule__FeatureMap__Group_1__0 : rule__FeatureMap__Group_1__0__Impl rule__FeatureMap__Group_1__1 ;
    public final void rule__FeatureMap__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1123:1: ( rule__FeatureMap__Group_1__0__Impl rule__FeatureMap__Group_1__1 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1124:2: rule__FeatureMap__Group_1__0__Impl rule__FeatureMap__Group_1__1
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_1__0__Impl_in_rule__FeatureMap__Group_1__02229);
            rule__FeatureMap__Group_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_1__1_in_rule__FeatureMap__Group_1__02232);
            rule__FeatureMap__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_1__0


    // $ANTLR start rule__FeatureMap__Group_1__0__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1131:1: rule__FeatureMap__Group_1__0__Impl : ( 'left' ) ;
    public final void rule__FeatureMap__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1135:1: ( ( 'left' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1136:1: ( 'left' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1136:1: ( 'left' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1137:1: 'left'
            {
             before(grammarAccess.getFeatureMapAccess().getLeftKeyword_1_0()); 
            match(input,25,FOLLOW_25_in_rule__FeatureMap__Group_1__0__Impl2260); 
             after(grammarAccess.getFeatureMapAccess().getLeftKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_1__0__Impl


    // $ANTLR start rule__FeatureMap__Group_1__1
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1150:1: rule__FeatureMap__Group_1__1 : rule__FeatureMap__Group_1__1__Impl rule__FeatureMap__Group_1__2 ;
    public final void rule__FeatureMap__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1154:1: ( rule__FeatureMap__Group_1__1__Impl rule__FeatureMap__Group_1__2 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1155:2: rule__FeatureMap__Group_1__1__Impl rule__FeatureMap__Group_1__2
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_1__1__Impl_in_rule__FeatureMap__Group_1__12291);
            rule__FeatureMap__Group_1__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_1__2_in_rule__FeatureMap__Group_1__12294);
            rule__FeatureMap__Group_1__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_1__1


    // $ANTLR start rule__FeatureMap__Group_1__1__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1162:1: rule__FeatureMap__Group_1__1__Impl : ( '.' ) ;
    public final void rule__FeatureMap__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1166:1: ( ( '.' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1167:1: ( '.' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1167:1: ( '.' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1168:1: '.'
            {
             before(grammarAccess.getFeatureMapAccess().getFullStopKeyword_1_1()); 
            match(input,16,FOLLOW_16_in_rule__FeatureMap__Group_1__1__Impl2322); 
             after(grammarAccess.getFeatureMapAccess().getFullStopKeyword_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_1__1__Impl


    // $ANTLR start rule__FeatureMap__Group_1__2
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1181:1: rule__FeatureMap__Group_1__2 : rule__FeatureMap__Group_1__2__Impl rule__FeatureMap__Group_1__3 ;
    public final void rule__FeatureMap__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1185:1: ( rule__FeatureMap__Group_1__2__Impl rule__FeatureMap__Group_1__3 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1186:2: rule__FeatureMap__Group_1__2__Impl rule__FeatureMap__Group_1__3
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_1__2__Impl_in_rule__FeatureMap__Group_1__22353);
            rule__FeatureMap__Group_1__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_1__3_in_rule__FeatureMap__Group_1__22356);
            rule__FeatureMap__Group_1__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_1__2


    // $ANTLR start rule__FeatureMap__Group_1__2__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1193:1: rule__FeatureMap__Group_1__2__Impl : ( ( rule__FeatureMap__LeftFieldAssignment_1_2 ) ) ;
    public final void rule__FeatureMap__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1197:1: ( ( ( rule__FeatureMap__LeftFieldAssignment_1_2 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1198:1: ( ( rule__FeatureMap__LeftFieldAssignment_1_2 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1198:1: ( ( rule__FeatureMap__LeftFieldAssignment_1_2 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1199:1: ( rule__FeatureMap__LeftFieldAssignment_1_2 )
            {
             before(grammarAccess.getFeatureMapAccess().getLeftFieldAssignment_1_2()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1200:1: ( rule__FeatureMap__LeftFieldAssignment_1_2 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1200:2: rule__FeatureMap__LeftFieldAssignment_1_2
            {
            pushFollow(FOLLOW_rule__FeatureMap__LeftFieldAssignment_1_2_in_rule__FeatureMap__Group_1__2__Impl2383);
            rule__FeatureMap__LeftFieldAssignment_1_2();
            _fsp--;


            }

             after(grammarAccess.getFeatureMapAccess().getLeftFieldAssignment_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_1__2__Impl


    // $ANTLR start rule__FeatureMap__Group_1__3
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1210:1: rule__FeatureMap__Group_1__3 : rule__FeatureMap__Group_1__3__Impl rule__FeatureMap__Group_1__4 ;
    public final void rule__FeatureMap__Group_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1214:1: ( rule__FeatureMap__Group_1__3__Impl rule__FeatureMap__Group_1__4 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1215:2: rule__FeatureMap__Group_1__3__Impl rule__FeatureMap__Group_1__4
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_1__3__Impl_in_rule__FeatureMap__Group_1__32413);
            rule__FeatureMap__Group_1__3__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_1__4_in_rule__FeatureMap__Group_1__32416);
            rule__FeatureMap__Group_1__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_1__3


    // $ANTLR start rule__FeatureMap__Group_1__3__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1222:1: rule__FeatureMap__Group_1__3__Impl : ( '=' ) ;
    public final void rule__FeatureMap__Group_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1226:1: ( ( '=' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1227:1: ( '=' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1227:1: ( '=' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1228:1: '='
            {
             before(grammarAccess.getFeatureMapAccess().getEqualsSignKeyword_1_3()); 
            match(input,26,FOLLOW_26_in_rule__FeatureMap__Group_1__3__Impl2444); 
             after(grammarAccess.getFeatureMapAccess().getEqualsSignKeyword_1_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_1__3__Impl


    // $ANTLR start rule__FeatureMap__Group_1__4
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1241:1: rule__FeatureMap__Group_1__4 : rule__FeatureMap__Group_1__4__Impl ;
    public final void rule__FeatureMap__Group_1__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1245:1: ( rule__FeatureMap__Group_1__4__Impl )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1246:2: rule__FeatureMap__Group_1__4__Impl
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_1__4__Impl_in_rule__FeatureMap__Group_1__42475);
            rule__FeatureMap__Group_1__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_1__4


    // $ANTLR start rule__FeatureMap__Group_1__4__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1252:1: rule__FeatureMap__Group_1__4__Impl : ( ( rule__FeatureMap__ExprAssignment_1_4 ) ) ;
    public final void rule__FeatureMap__Group_1__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1256:1: ( ( ( rule__FeatureMap__ExprAssignment_1_4 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1257:1: ( ( rule__FeatureMap__ExprAssignment_1_4 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1257:1: ( ( rule__FeatureMap__ExprAssignment_1_4 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1258:1: ( rule__FeatureMap__ExprAssignment_1_4 )
            {
             before(grammarAccess.getFeatureMapAccess().getExprAssignment_1_4()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1259:1: ( rule__FeatureMap__ExprAssignment_1_4 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1259:2: rule__FeatureMap__ExprAssignment_1_4
            {
            pushFollow(FOLLOW_rule__FeatureMap__ExprAssignment_1_4_in_rule__FeatureMap__Group_1__4__Impl2502);
            rule__FeatureMap__ExprAssignment_1_4();
            _fsp--;


            }

             after(grammarAccess.getFeatureMapAccess().getExprAssignment_1_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_1__4__Impl


    // $ANTLR start rule__FeatureMap__Group_2__0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1279:1: rule__FeatureMap__Group_2__0 : rule__FeatureMap__Group_2__0__Impl rule__FeatureMap__Group_2__1 ;
    public final void rule__FeatureMap__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1283:1: ( rule__FeatureMap__Group_2__0__Impl rule__FeatureMap__Group_2__1 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1284:2: rule__FeatureMap__Group_2__0__Impl rule__FeatureMap__Group_2__1
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_2__0__Impl_in_rule__FeatureMap__Group_2__02542);
            rule__FeatureMap__Group_2__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_2__1_in_rule__FeatureMap__Group_2__02545);
            rule__FeatureMap__Group_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_2__0


    // $ANTLR start rule__FeatureMap__Group_2__0__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1291:1: rule__FeatureMap__Group_2__0__Impl : ( 'right' ) ;
    public final void rule__FeatureMap__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1295:1: ( ( 'right' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1296:1: ( 'right' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1296:1: ( 'right' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1297:1: 'right'
            {
             before(grammarAccess.getFeatureMapAccess().getRightKeyword_2_0()); 
            match(input,27,FOLLOW_27_in_rule__FeatureMap__Group_2__0__Impl2573); 
             after(grammarAccess.getFeatureMapAccess().getRightKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_2__0__Impl


    // $ANTLR start rule__FeatureMap__Group_2__1
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1310:1: rule__FeatureMap__Group_2__1 : rule__FeatureMap__Group_2__1__Impl rule__FeatureMap__Group_2__2 ;
    public final void rule__FeatureMap__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1314:1: ( rule__FeatureMap__Group_2__1__Impl rule__FeatureMap__Group_2__2 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1315:2: rule__FeatureMap__Group_2__1__Impl rule__FeatureMap__Group_2__2
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_2__1__Impl_in_rule__FeatureMap__Group_2__12604);
            rule__FeatureMap__Group_2__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_2__2_in_rule__FeatureMap__Group_2__12607);
            rule__FeatureMap__Group_2__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_2__1


    // $ANTLR start rule__FeatureMap__Group_2__1__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1322:1: rule__FeatureMap__Group_2__1__Impl : ( '.' ) ;
    public final void rule__FeatureMap__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1326:1: ( ( '.' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1327:1: ( '.' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1327:1: ( '.' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1328:1: '.'
            {
             before(grammarAccess.getFeatureMapAccess().getFullStopKeyword_2_1()); 
            match(input,16,FOLLOW_16_in_rule__FeatureMap__Group_2__1__Impl2635); 
             after(grammarAccess.getFeatureMapAccess().getFullStopKeyword_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_2__1__Impl


    // $ANTLR start rule__FeatureMap__Group_2__2
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1341:1: rule__FeatureMap__Group_2__2 : rule__FeatureMap__Group_2__2__Impl rule__FeatureMap__Group_2__3 ;
    public final void rule__FeatureMap__Group_2__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1345:1: ( rule__FeatureMap__Group_2__2__Impl rule__FeatureMap__Group_2__3 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1346:2: rule__FeatureMap__Group_2__2__Impl rule__FeatureMap__Group_2__3
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_2__2__Impl_in_rule__FeatureMap__Group_2__22666);
            rule__FeatureMap__Group_2__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_2__3_in_rule__FeatureMap__Group_2__22669);
            rule__FeatureMap__Group_2__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_2__2


    // $ANTLR start rule__FeatureMap__Group_2__2__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1353:1: rule__FeatureMap__Group_2__2__Impl : ( ( rule__FeatureMap__RightFieldAssignment_2_2 ) ) ;
    public final void rule__FeatureMap__Group_2__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1357:1: ( ( ( rule__FeatureMap__RightFieldAssignment_2_2 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1358:1: ( ( rule__FeatureMap__RightFieldAssignment_2_2 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1358:1: ( ( rule__FeatureMap__RightFieldAssignment_2_2 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1359:1: ( rule__FeatureMap__RightFieldAssignment_2_2 )
            {
             before(grammarAccess.getFeatureMapAccess().getRightFieldAssignment_2_2()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1360:1: ( rule__FeatureMap__RightFieldAssignment_2_2 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1360:2: rule__FeatureMap__RightFieldAssignment_2_2
            {
            pushFollow(FOLLOW_rule__FeatureMap__RightFieldAssignment_2_2_in_rule__FeatureMap__Group_2__2__Impl2696);
            rule__FeatureMap__RightFieldAssignment_2_2();
            _fsp--;


            }

             after(grammarAccess.getFeatureMapAccess().getRightFieldAssignment_2_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_2__2__Impl


    // $ANTLR start rule__FeatureMap__Group_2__3
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1370:1: rule__FeatureMap__Group_2__3 : rule__FeatureMap__Group_2__3__Impl rule__FeatureMap__Group_2__4 ;
    public final void rule__FeatureMap__Group_2__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1374:1: ( rule__FeatureMap__Group_2__3__Impl rule__FeatureMap__Group_2__4 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1375:2: rule__FeatureMap__Group_2__3__Impl rule__FeatureMap__Group_2__4
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_2__3__Impl_in_rule__FeatureMap__Group_2__32726);
            rule__FeatureMap__Group_2__3__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_2__4_in_rule__FeatureMap__Group_2__32729);
            rule__FeatureMap__Group_2__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_2__3


    // $ANTLR start rule__FeatureMap__Group_2__3__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1382:1: rule__FeatureMap__Group_2__3__Impl : ( '=' ) ;
    public final void rule__FeatureMap__Group_2__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1386:1: ( ( '=' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1387:1: ( '=' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1387:1: ( '=' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1388:1: '='
            {
             before(grammarAccess.getFeatureMapAccess().getEqualsSignKeyword_2_3()); 
            match(input,26,FOLLOW_26_in_rule__FeatureMap__Group_2__3__Impl2757); 
             after(grammarAccess.getFeatureMapAccess().getEqualsSignKeyword_2_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_2__3__Impl


    // $ANTLR start rule__FeatureMap__Group_2__4
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1401:1: rule__FeatureMap__Group_2__4 : rule__FeatureMap__Group_2__4__Impl ;
    public final void rule__FeatureMap__Group_2__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1405:1: ( rule__FeatureMap__Group_2__4__Impl )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1406:2: rule__FeatureMap__Group_2__4__Impl
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_2__4__Impl_in_rule__FeatureMap__Group_2__42788);
            rule__FeatureMap__Group_2__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_2__4


    // $ANTLR start rule__FeatureMap__Group_2__4__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1412:1: rule__FeatureMap__Group_2__4__Impl : ( ( rule__FeatureMap__ExprAssignment_2_4 ) ) ;
    public final void rule__FeatureMap__Group_2__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1416:1: ( ( ( rule__FeatureMap__ExprAssignment_2_4 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1417:1: ( ( rule__FeatureMap__ExprAssignment_2_4 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1417:1: ( ( rule__FeatureMap__ExprAssignment_2_4 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1418:1: ( rule__FeatureMap__ExprAssignment_2_4 )
            {
             before(grammarAccess.getFeatureMapAccess().getExprAssignment_2_4()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1419:1: ( rule__FeatureMap__ExprAssignment_2_4 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1419:2: rule__FeatureMap__ExprAssignment_2_4
            {
            pushFollow(FOLLOW_rule__FeatureMap__ExprAssignment_2_4_in_rule__FeatureMap__Group_2__4__Impl2815);
            rule__FeatureMap__ExprAssignment_2_4();
            _fsp--;


            }

             after(grammarAccess.getFeatureMapAccess().getExprAssignment_2_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_2__4__Impl


    // $ANTLR start rule__FeatureMap__Group_3__0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1439:1: rule__FeatureMap__Group_3__0 : rule__FeatureMap__Group_3__0__Impl rule__FeatureMap__Group_3__1 ;
    public final void rule__FeatureMap__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1443:1: ( rule__FeatureMap__Group_3__0__Impl rule__FeatureMap__Group_3__1 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1444:2: rule__FeatureMap__Group_3__0__Impl rule__FeatureMap__Group_3__1
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_3__0__Impl_in_rule__FeatureMap__Group_3__02855);
            rule__FeatureMap__Group_3__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_3__1_in_rule__FeatureMap__Group_3__02858);
            rule__FeatureMap__Group_3__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_3__0


    // $ANTLR start rule__FeatureMap__Group_3__0__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1451:1: rule__FeatureMap__Group_3__0__Impl : ( 'composite' ) ;
    public final void rule__FeatureMap__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1455:1: ( ( 'composite' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1456:1: ( 'composite' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1456:1: ( 'composite' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1457:1: 'composite'
            {
             before(grammarAccess.getFeatureMapAccess().getCompositeKeyword_3_0()); 
            match(input,28,FOLLOW_28_in_rule__FeatureMap__Group_3__0__Impl2886); 
             after(grammarAccess.getFeatureMapAccess().getCompositeKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_3__0__Impl


    // $ANTLR start rule__FeatureMap__Group_3__1
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1470:1: rule__FeatureMap__Group_3__1 : rule__FeatureMap__Group_3__1__Impl rule__FeatureMap__Group_3__2 ;
    public final void rule__FeatureMap__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1474:1: ( rule__FeatureMap__Group_3__1__Impl rule__FeatureMap__Group_3__2 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1475:2: rule__FeatureMap__Group_3__1__Impl rule__FeatureMap__Group_3__2
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_3__1__Impl_in_rule__FeatureMap__Group_3__12917);
            rule__FeatureMap__Group_3__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_3__2_in_rule__FeatureMap__Group_3__12920);
            rule__FeatureMap__Group_3__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_3__1


    // $ANTLR start rule__FeatureMap__Group_3__1__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1482:1: rule__FeatureMap__Group_3__1__Impl : ( 'map' ) ;
    public final void rule__FeatureMap__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1486:1: ( ( 'map' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1487:1: ( 'map' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1487:1: ( 'map' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1488:1: 'map'
            {
             before(grammarAccess.getFeatureMapAccess().getMapKeyword_3_1()); 
            match(input,23,FOLLOW_23_in_rule__FeatureMap__Group_3__1__Impl2948); 
             after(grammarAccess.getFeatureMapAccess().getMapKeyword_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_3__1__Impl


    // $ANTLR start rule__FeatureMap__Group_3__2
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1501:1: rule__FeatureMap__Group_3__2 : rule__FeatureMap__Group_3__2__Impl rule__FeatureMap__Group_3__3 ;
    public final void rule__FeatureMap__Group_3__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1505:1: ( rule__FeatureMap__Group_3__2__Impl rule__FeatureMap__Group_3__3 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1506:2: rule__FeatureMap__Group_3__2__Impl rule__FeatureMap__Group_3__3
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_3__2__Impl_in_rule__FeatureMap__Group_3__22979);
            rule__FeatureMap__Group_3__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_3__3_in_rule__FeatureMap__Group_3__22982);
            rule__FeatureMap__Group_3__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_3__2


    // $ANTLR start rule__FeatureMap__Group_3__2__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1513:1: rule__FeatureMap__Group_3__2__Impl : ( 'left' ) ;
    public final void rule__FeatureMap__Group_3__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1517:1: ( ( 'left' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1518:1: ( 'left' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1518:1: ( 'left' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1519:1: 'left'
            {
             before(grammarAccess.getFeatureMapAccess().getLeftKeyword_3_2()); 
            match(input,25,FOLLOW_25_in_rule__FeatureMap__Group_3__2__Impl3010); 
             after(grammarAccess.getFeatureMapAccess().getLeftKeyword_3_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_3__2__Impl


    // $ANTLR start rule__FeatureMap__Group_3__3
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1532:1: rule__FeatureMap__Group_3__3 : rule__FeatureMap__Group_3__3__Impl rule__FeatureMap__Group_3__4 ;
    public final void rule__FeatureMap__Group_3__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1536:1: ( rule__FeatureMap__Group_3__3__Impl rule__FeatureMap__Group_3__4 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1537:2: rule__FeatureMap__Group_3__3__Impl rule__FeatureMap__Group_3__4
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_3__3__Impl_in_rule__FeatureMap__Group_3__33041);
            rule__FeatureMap__Group_3__3__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_3__4_in_rule__FeatureMap__Group_3__33044);
            rule__FeatureMap__Group_3__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_3__3


    // $ANTLR start rule__FeatureMap__Group_3__3__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1544:1: rule__FeatureMap__Group_3__3__Impl : ( '.' ) ;
    public final void rule__FeatureMap__Group_3__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1548:1: ( ( '.' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1549:1: ( '.' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1549:1: ( '.' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1550:1: '.'
            {
             before(grammarAccess.getFeatureMapAccess().getFullStopKeyword_3_3()); 
            match(input,16,FOLLOW_16_in_rule__FeatureMap__Group_3__3__Impl3072); 
             after(grammarAccess.getFeatureMapAccess().getFullStopKeyword_3_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_3__3__Impl


    // $ANTLR start rule__FeatureMap__Group_3__4
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1563:1: rule__FeatureMap__Group_3__4 : rule__FeatureMap__Group_3__4__Impl ;
    public final void rule__FeatureMap__Group_3__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1567:1: ( rule__FeatureMap__Group_3__4__Impl )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1568:2: rule__FeatureMap__Group_3__4__Impl
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_3__4__Impl_in_rule__FeatureMap__Group_3__43103);
            rule__FeatureMap__Group_3__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_3__4


    // $ANTLR start rule__FeatureMap__Group_3__4__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1574:1: rule__FeatureMap__Group_3__4__Impl : ( ( rule__FeatureMap__LeftFieldAssignment_3_4 ) ) ;
    public final void rule__FeatureMap__Group_3__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1578:1: ( ( ( rule__FeatureMap__LeftFieldAssignment_3_4 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1579:1: ( ( rule__FeatureMap__LeftFieldAssignment_3_4 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1579:1: ( ( rule__FeatureMap__LeftFieldAssignment_3_4 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1580:1: ( rule__FeatureMap__LeftFieldAssignment_3_4 )
            {
             before(grammarAccess.getFeatureMapAccess().getLeftFieldAssignment_3_4()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1581:1: ( rule__FeatureMap__LeftFieldAssignment_3_4 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1581:2: rule__FeatureMap__LeftFieldAssignment_3_4
            {
            pushFollow(FOLLOW_rule__FeatureMap__LeftFieldAssignment_3_4_in_rule__FeatureMap__Group_3__4__Impl3130);
            rule__FeatureMap__LeftFieldAssignment_3_4();
            _fsp--;


            }

             after(grammarAccess.getFeatureMapAccess().getLeftFieldAssignment_3_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_3__4__Impl


    // $ANTLR start rule__FeatureMap__Group_4__0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1601:1: rule__FeatureMap__Group_4__0 : rule__FeatureMap__Group_4__0__Impl rule__FeatureMap__Group_4__1 ;
    public final void rule__FeatureMap__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1605:1: ( rule__FeatureMap__Group_4__0__Impl rule__FeatureMap__Group_4__1 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1606:2: rule__FeatureMap__Group_4__0__Impl rule__FeatureMap__Group_4__1
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_4__0__Impl_in_rule__FeatureMap__Group_4__03170);
            rule__FeatureMap__Group_4__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_4__1_in_rule__FeatureMap__Group_4__03173);
            rule__FeatureMap__Group_4__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_4__0


    // $ANTLR start rule__FeatureMap__Group_4__0__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1613:1: rule__FeatureMap__Group_4__0__Impl : ( 'composite' ) ;
    public final void rule__FeatureMap__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1617:1: ( ( 'composite' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1618:1: ( 'composite' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1618:1: ( 'composite' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1619:1: 'composite'
            {
             before(grammarAccess.getFeatureMapAccess().getCompositeKeyword_4_0()); 
            match(input,28,FOLLOW_28_in_rule__FeatureMap__Group_4__0__Impl3201); 
             after(grammarAccess.getFeatureMapAccess().getCompositeKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_4__0__Impl


    // $ANTLR start rule__FeatureMap__Group_4__1
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1632:1: rule__FeatureMap__Group_4__1 : rule__FeatureMap__Group_4__1__Impl rule__FeatureMap__Group_4__2 ;
    public final void rule__FeatureMap__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1636:1: ( rule__FeatureMap__Group_4__1__Impl rule__FeatureMap__Group_4__2 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1637:2: rule__FeatureMap__Group_4__1__Impl rule__FeatureMap__Group_4__2
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_4__1__Impl_in_rule__FeatureMap__Group_4__13232);
            rule__FeatureMap__Group_4__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_4__2_in_rule__FeatureMap__Group_4__13235);
            rule__FeatureMap__Group_4__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_4__1


    // $ANTLR start rule__FeatureMap__Group_4__1__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1644:1: rule__FeatureMap__Group_4__1__Impl : ( 'map' ) ;
    public final void rule__FeatureMap__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1648:1: ( ( 'map' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1649:1: ( 'map' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1649:1: ( 'map' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1650:1: 'map'
            {
             before(grammarAccess.getFeatureMapAccess().getMapKeyword_4_1()); 
            match(input,23,FOLLOW_23_in_rule__FeatureMap__Group_4__1__Impl3263); 
             after(grammarAccess.getFeatureMapAccess().getMapKeyword_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_4__1__Impl


    // $ANTLR start rule__FeatureMap__Group_4__2
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1663:1: rule__FeatureMap__Group_4__2 : rule__FeatureMap__Group_4__2__Impl rule__FeatureMap__Group_4__3 ;
    public final void rule__FeatureMap__Group_4__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1667:1: ( rule__FeatureMap__Group_4__2__Impl rule__FeatureMap__Group_4__3 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1668:2: rule__FeatureMap__Group_4__2__Impl rule__FeatureMap__Group_4__3
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_4__2__Impl_in_rule__FeatureMap__Group_4__23294);
            rule__FeatureMap__Group_4__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_4__3_in_rule__FeatureMap__Group_4__23297);
            rule__FeatureMap__Group_4__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_4__2


    // $ANTLR start rule__FeatureMap__Group_4__2__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1675:1: rule__FeatureMap__Group_4__2__Impl : ( 'right' ) ;
    public final void rule__FeatureMap__Group_4__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1679:1: ( ( 'right' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1680:1: ( 'right' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1680:1: ( 'right' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1681:1: 'right'
            {
             before(grammarAccess.getFeatureMapAccess().getRightKeyword_4_2()); 
            match(input,27,FOLLOW_27_in_rule__FeatureMap__Group_4__2__Impl3325); 
             after(grammarAccess.getFeatureMapAccess().getRightKeyword_4_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_4__2__Impl


    // $ANTLR start rule__FeatureMap__Group_4__3
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1694:1: rule__FeatureMap__Group_4__3 : rule__FeatureMap__Group_4__3__Impl rule__FeatureMap__Group_4__4 ;
    public final void rule__FeatureMap__Group_4__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1698:1: ( rule__FeatureMap__Group_4__3__Impl rule__FeatureMap__Group_4__4 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1699:2: rule__FeatureMap__Group_4__3__Impl rule__FeatureMap__Group_4__4
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_4__3__Impl_in_rule__FeatureMap__Group_4__33356);
            rule__FeatureMap__Group_4__3__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_4__4_in_rule__FeatureMap__Group_4__33359);
            rule__FeatureMap__Group_4__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_4__3


    // $ANTLR start rule__FeatureMap__Group_4__3__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1706:1: rule__FeatureMap__Group_4__3__Impl : ( '.' ) ;
    public final void rule__FeatureMap__Group_4__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1710:1: ( ( '.' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1711:1: ( '.' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1711:1: ( '.' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1712:1: '.'
            {
             before(grammarAccess.getFeatureMapAccess().getFullStopKeyword_4_3()); 
            match(input,16,FOLLOW_16_in_rule__FeatureMap__Group_4__3__Impl3387); 
             after(grammarAccess.getFeatureMapAccess().getFullStopKeyword_4_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_4__3__Impl


    // $ANTLR start rule__FeatureMap__Group_4__4
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1725:1: rule__FeatureMap__Group_4__4 : rule__FeatureMap__Group_4__4__Impl ;
    public final void rule__FeatureMap__Group_4__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1729:1: ( rule__FeatureMap__Group_4__4__Impl )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1730:2: rule__FeatureMap__Group_4__4__Impl
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_4__4__Impl_in_rule__FeatureMap__Group_4__43418);
            rule__FeatureMap__Group_4__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_4__4


    // $ANTLR start rule__FeatureMap__Group_4__4__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1736:1: rule__FeatureMap__Group_4__4__Impl : ( ( rule__FeatureMap__RightFieldAssignment_4_4 ) ) ;
    public final void rule__FeatureMap__Group_4__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1740:1: ( ( ( rule__FeatureMap__RightFieldAssignment_4_4 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1741:1: ( ( rule__FeatureMap__RightFieldAssignment_4_4 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1741:1: ( ( rule__FeatureMap__RightFieldAssignment_4_4 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1742:1: ( rule__FeatureMap__RightFieldAssignment_4_4 )
            {
             before(grammarAccess.getFeatureMapAccess().getRightFieldAssignment_4_4()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1743:1: ( rule__FeatureMap__RightFieldAssignment_4_4 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1743:2: rule__FeatureMap__RightFieldAssignment_4_4
            {
            pushFollow(FOLLOW_rule__FeatureMap__RightFieldAssignment_4_4_in_rule__FeatureMap__Group_4__4__Impl3445);
            rule__FeatureMap__RightFieldAssignment_4_4();
            _fsp--;


            }

             after(grammarAccess.getFeatureMapAccess().getRightFieldAssignment_4_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_4__4__Impl


    // $ANTLR start rule__FeatureMap__Group_5__0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1763:1: rule__FeatureMap__Group_5__0 : rule__FeatureMap__Group_5__0__Impl rule__FeatureMap__Group_5__1 ;
    public final void rule__FeatureMap__Group_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1767:1: ( rule__FeatureMap__Group_5__0__Impl rule__FeatureMap__Group_5__1 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1768:2: rule__FeatureMap__Group_5__0__Impl rule__FeatureMap__Group_5__1
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_5__0__Impl_in_rule__FeatureMap__Group_5__03485);
            rule__FeatureMap__Group_5__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_5__1_in_rule__FeatureMap__Group_5__03488);
            rule__FeatureMap__Group_5__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_5__0


    // $ANTLR start rule__FeatureMap__Group_5__0__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1775:1: rule__FeatureMap__Group_5__0__Impl : ( 'ignore' ) ;
    public final void rule__FeatureMap__Group_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1779:1: ( ( 'ignore' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1780:1: ( 'ignore' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1780:1: ( 'ignore' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1781:1: 'ignore'
            {
             before(grammarAccess.getFeatureMapAccess().getIgnoreKeyword_5_0()); 
            match(input,29,FOLLOW_29_in_rule__FeatureMap__Group_5__0__Impl3516); 
             after(grammarAccess.getFeatureMapAccess().getIgnoreKeyword_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_5__0__Impl


    // $ANTLR start rule__FeatureMap__Group_5__1
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1794:1: rule__FeatureMap__Group_5__1 : rule__FeatureMap__Group_5__1__Impl rule__FeatureMap__Group_5__2 ;
    public final void rule__FeatureMap__Group_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1798:1: ( rule__FeatureMap__Group_5__1__Impl rule__FeatureMap__Group_5__2 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1799:2: rule__FeatureMap__Group_5__1__Impl rule__FeatureMap__Group_5__2
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_5__1__Impl_in_rule__FeatureMap__Group_5__13547);
            rule__FeatureMap__Group_5__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_5__2_in_rule__FeatureMap__Group_5__13550);
            rule__FeatureMap__Group_5__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_5__1


    // $ANTLR start rule__FeatureMap__Group_5__1__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1806:1: rule__FeatureMap__Group_5__1__Impl : ( 'left' ) ;
    public final void rule__FeatureMap__Group_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1810:1: ( ( 'left' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1811:1: ( 'left' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1811:1: ( 'left' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1812:1: 'left'
            {
             before(grammarAccess.getFeatureMapAccess().getLeftKeyword_5_1()); 
            match(input,25,FOLLOW_25_in_rule__FeatureMap__Group_5__1__Impl3578); 
             after(grammarAccess.getFeatureMapAccess().getLeftKeyword_5_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_5__1__Impl


    // $ANTLR start rule__FeatureMap__Group_5__2
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1825:1: rule__FeatureMap__Group_5__2 : rule__FeatureMap__Group_5__2__Impl rule__FeatureMap__Group_5__3 ;
    public final void rule__FeatureMap__Group_5__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1829:1: ( rule__FeatureMap__Group_5__2__Impl rule__FeatureMap__Group_5__3 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1830:2: rule__FeatureMap__Group_5__2__Impl rule__FeatureMap__Group_5__3
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_5__2__Impl_in_rule__FeatureMap__Group_5__23609);
            rule__FeatureMap__Group_5__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_5__3_in_rule__FeatureMap__Group_5__23612);
            rule__FeatureMap__Group_5__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_5__2


    // $ANTLR start rule__FeatureMap__Group_5__2__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1837:1: rule__FeatureMap__Group_5__2__Impl : ( '.' ) ;
    public final void rule__FeatureMap__Group_5__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1841:1: ( ( '.' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1842:1: ( '.' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1842:1: ( '.' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1843:1: '.'
            {
             before(grammarAccess.getFeatureMapAccess().getFullStopKeyword_5_2()); 
            match(input,16,FOLLOW_16_in_rule__FeatureMap__Group_5__2__Impl3640); 
             after(grammarAccess.getFeatureMapAccess().getFullStopKeyword_5_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_5__2__Impl


    // $ANTLR start rule__FeatureMap__Group_5__3
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1856:1: rule__FeatureMap__Group_5__3 : rule__FeatureMap__Group_5__3__Impl ;
    public final void rule__FeatureMap__Group_5__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1860:1: ( rule__FeatureMap__Group_5__3__Impl )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1861:2: rule__FeatureMap__Group_5__3__Impl
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_5__3__Impl_in_rule__FeatureMap__Group_5__33671);
            rule__FeatureMap__Group_5__3__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_5__3


    // $ANTLR start rule__FeatureMap__Group_5__3__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1867:1: rule__FeatureMap__Group_5__3__Impl : ( ( rule__FeatureMap__LeftFieldAssignment_5_3 ) ) ;
    public final void rule__FeatureMap__Group_5__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1871:1: ( ( ( rule__FeatureMap__LeftFieldAssignment_5_3 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1872:1: ( ( rule__FeatureMap__LeftFieldAssignment_5_3 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1872:1: ( ( rule__FeatureMap__LeftFieldAssignment_5_3 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1873:1: ( rule__FeatureMap__LeftFieldAssignment_5_3 )
            {
             before(grammarAccess.getFeatureMapAccess().getLeftFieldAssignment_5_3()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1874:1: ( rule__FeatureMap__LeftFieldAssignment_5_3 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1874:2: rule__FeatureMap__LeftFieldAssignment_5_3
            {
            pushFollow(FOLLOW_rule__FeatureMap__LeftFieldAssignment_5_3_in_rule__FeatureMap__Group_5__3__Impl3698);
            rule__FeatureMap__LeftFieldAssignment_5_3();
            _fsp--;


            }

             after(grammarAccess.getFeatureMapAccess().getLeftFieldAssignment_5_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_5__3__Impl


    // $ANTLR start rule__FeatureMap__Group_6__0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1892:1: rule__FeatureMap__Group_6__0 : rule__FeatureMap__Group_6__0__Impl rule__FeatureMap__Group_6__1 ;
    public final void rule__FeatureMap__Group_6__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1896:1: ( rule__FeatureMap__Group_6__0__Impl rule__FeatureMap__Group_6__1 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1897:2: rule__FeatureMap__Group_6__0__Impl rule__FeatureMap__Group_6__1
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_6__0__Impl_in_rule__FeatureMap__Group_6__03736);
            rule__FeatureMap__Group_6__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_6__1_in_rule__FeatureMap__Group_6__03739);
            rule__FeatureMap__Group_6__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_6__0


    // $ANTLR start rule__FeatureMap__Group_6__0__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1904:1: rule__FeatureMap__Group_6__0__Impl : ( 'ignore' ) ;
    public final void rule__FeatureMap__Group_6__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1908:1: ( ( 'ignore' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1909:1: ( 'ignore' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1909:1: ( 'ignore' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1910:1: 'ignore'
            {
             before(grammarAccess.getFeatureMapAccess().getIgnoreKeyword_6_0()); 
            match(input,29,FOLLOW_29_in_rule__FeatureMap__Group_6__0__Impl3767); 
             after(grammarAccess.getFeatureMapAccess().getIgnoreKeyword_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_6__0__Impl


    // $ANTLR start rule__FeatureMap__Group_6__1
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1923:1: rule__FeatureMap__Group_6__1 : rule__FeatureMap__Group_6__1__Impl rule__FeatureMap__Group_6__2 ;
    public final void rule__FeatureMap__Group_6__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1927:1: ( rule__FeatureMap__Group_6__1__Impl rule__FeatureMap__Group_6__2 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1928:2: rule__FeatureMap__Group_6__1__Impl rule__FeatureMap__Group_6__2
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_6__1__Impl_in_rule__FeatureMap__Group_6__13798);
            rule__FeatureMap__Group_6__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_6__2_in_rule__FeatureMap__Group_6__13801);
            rule__FeatureMap__Group_6__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_6__1


    // $ANTLR start rule__FeatureMap__Group_6__1__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1935:1: rule__FeatureMap__Group_6__1__Impl : ( 'right' ) ;
    public final void rule__FeatureMap__Group_6__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1939:1: ( ( 'right' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1940:1: ( 'right' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1940:1: ( 'right' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1941:1: 'right'
            {
             before(grammarAccess.getFeatureMapAccess().getRightKeyword_6_1()); 
            match(input,27,FOLLOW_27_in_rule__FeatureMap__Group_6__1__Impl3829); 
             after(grammarAccess.getFeatureMapAccess().getRightKeyword_6_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_6__1__Impl


    // $ANTLR start rule__FeatureMap__Group_6__2
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1954:1: rule__FeatureMap__Group_6__2 : rule__FeatureMap__Group_6__2__Impl rule__FeatureMap__Group_6__3 ;
    public final void rule__FeatureMap__Group_6__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1958:1: ( rule__FeatureMap__Group_6__2__Impl rule__FeatureMap__Group_6__3 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1959:2: rule__FeatureMap__Group_6__2__Impl rule__FeatureMap__Group_6__3
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_6__2__Impl_in_rule__FeatureMap__Group_6__23860);
            rule__FeatureMap__Group_6__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__FeatureMap__Group_6__3_in_rule__FeatureMap__Group_6__23863);
            rule__FeatureMap__Group_6__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_6__2


    // $ANTLR start rule__FeatureMap__Group_6__2__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1966:1: rule__FeatureMap__Group_6__2__Impl : ( '.' ) ;
    public final void rule__FeatureMap__Group_6__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1970:1: ( ( '.' ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1971:1: ( '.' )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1971:1: ( '.' )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1972:1: '.'
            {
             before(grammarAccess.getFeatureMapAccess().getFullStopKeyword_6_2()); 
            match(input,16,FOLLOW_16_in_rule__FeatureMap__Group_6__2__Impl3891); 
             after(grammarAccess.getFeatureMapAccess().getFullStopKeyword_6_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_6__2__Impl


    // $ANTLR start rule__FeatureMap__Group_6__3
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1985:1: rule__FeatureMap__Group_6__3 : rule__FeatureMap__Group_6__3__Impl ;
    public final void rule__FeatureMap__Group_6__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1989:1: ( rule__FeatureMap__Group_6__3__Impl )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1990:2: rule__FeatureMap__Group_6__3__Impl
            {
            pushFollow(FOLLOW_rule__FeatureMap__Group_6__3__Impl_in_rule__FeatureMap__Group_6__33922);
            rule__FeatureMap__Group_6__3__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_6__3


    // $ANTLR start rule__FeatureMap__Group_6__3__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:1996:1: rule__FeatureMap__Group_6__3__Impl : ( ( rule__FeatureMap__RightFieldAssignment_6_3 ) ) ;
    public final void rule__FeatureMap__Group_6__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2000:1: ( ( ( rule__FeatureMap__RightFieldAssignment_6_3 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2001:1: ( ( rule__FeatureMap__RightFieldAssignment_6_3 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2001:1: ( ( rule__FeatureMap__RightFieldAssignment_6_3 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2002:1: ( rule__FeatureMap__RightFieldAssignment_6_3 )
            {
             before(grammarAccess.getFeatureMapAccess().getRightFieldAssignment_6_3()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2003:1: ( rule__FeatureMap__RightFieldAssignment_6_3 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2003:2: rule__FeatureMap__RightFieldAssignment_6_3
            {
            pushFollow(FOLLOW_rule__FeatureMap__RightFieldAssignment_6_3_in_rule__FeatureMap__Group_6__3__Impl3949);
            rule__FeatureMap__RightFieldAssignment_6_3();
            _fsp--;


            }

             after(grammarAccess.getFeatureMapAccess().getRightFieldAssignment_6_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__Group_6__3__Impl


    // $ANTLR start rule__Mapping__UnorderedGroup_0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2023:1: rule__Mapping__UnorderedGroup_0 : rule__Mapping__UnorderedGroup_0__0 {...}?;
    public final void rule__Mapping__UnorderedGroup_0() throws RecognitionException {

            	int stackSize = keepStackSize();
        		getUnorderedGroupHelper().enter(grammarAccess.getMappingAccess().getUnorderedGroup_0());
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2028:1: ( rule__Mapping__UnorderedGroup_0__0 {...}?)
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2029:2: rule__Mapping__UnorderedGroup_0__0 {...}?
            {
            pushFollow(FOLLOW_rule__Mapping__UnorderedGroup_0__0_in_rule__Mapping__UnorderedGroup_03989);
            rule__Mapping__UnorderedGroup_0__0();
            _fsp--;

            if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getMappingAccess().getUnorderedGroup_0()) ) {
                throw new FailedPredicateException(input, "rule__Mapping__UnorderedGroup_0", "getUnorderedGroupHelper().canLeave(grammarAccess.getMappingAccess().getUnorderedGroup_0())");
            }

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	getUnorderedGroupHelper().leave(grammarAccess.getMappingAccess().getUnorderedGroup_0());
            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__UnorderedGroup_0


    // $ANTLR start rule__Mapping__UnorderedGroup_0__Impl
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2040:1: rule__Mapping__UnorderedGroup_0__Impl : ( ({...}? => ( ( ( rule__Mapping__CoverageAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__Mapping__DirectionAssignment_0_1 ) ) ) ) ) ;
    public final void rule__Mapping__UnorderedGroup_0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
        		boolean selected = false;
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2045:1: ( ( ({...}? => ( ( ( rule__Mapping__CoverageAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__Mapping__DirectionAssignment_0_1 ) ) ) ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2046:3: ( ({...}? => ( ( ( rule__Mapping__CoverageAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__Mapping__DirectionAssignment_0_1 ) ) ) ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2046:3: ( ({...}? => ( ( ( rule__Mapping__CoverageAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__Mapping__DirectionAssignment_0_1 ) ) ) ) )
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( LA11_0 >=11 && LA11_0<=12 && getUnorderedGroupHelper().canSelect(grammarAccess.getMappingAccess().getUnorderedGroup_0(), 0) ) {
                alt11=1;
            }
            else if ( LA11_0 >=13 && LA11_0<=14 && getUnorderedGroupHelper().canSelect(grammarAccess.getMappingAccess().getUnorderedGroup_0(), 1) ) {
                alt11=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("2046:3: ( ({...}? => ( ( ( rule__Mapping__CoverageAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__Mapping__DirectionAssignment_0_1 ) ) ) ) )", 11, 0, input);

                throw nvae;
            }
            switch (alt11) {
                case 1 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2048:4: ({...}? => ( ( ( rule__Mapping__CoverageAssignment_0_0 ) ) ) )
                    {
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2048:4: ({...}? => ( ( ( rule__Mapping__CoverageAssignment_0_0 ) ) ) )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2049:5: {...}? => ( ( ( rule__Mapping__CoverageAssignment_0_0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMappingAccess().getUnorderedGroup_0(), 0) ) {
                        throw new FailedPredicateException(input, "rule__Mapping__UnorderedGroup_0__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMappingAccess().getUnorderedGroup_0(), 0)");
                    }
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2049:104: ( ( ( rule__Mapping__CoverageAssignment_0_0 ) ) )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2050:6: ( ( rule__Mapping__CoverageAssignment_0_0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getMappingAccess().getUnorderedGroup_0(), 0);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2056:6: ( ( rule__Mapping__CoverageAssignment_0_0 ) )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2058:7: ( rule__Mapping__CoverageAssignment_0_0 )
                    {
                     before(grammarAccess.getMappingAccess().getCoverageAssignment_0_0()); 
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2059:7: ( rule__Mapping__CoverageAssignment_0_0 )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2059:8: rule__Mapping__CoverageAssignment_0_0
                    {
                    pushFollow(FOLLOW_rule__Mapping__CoverageAssignment_0_0_in_rule__Mapping__UnorderedGroup_0__Impl4078);
                    rule__Mapping__CoverageAssignment_0_0();
                    _fsp--;


                    }

                     after(grammarAccess.getMappingAccess().getCoverageAssignment_0_0()); 

                    }


                    }


                    }


                    }
                    break;
                case 2 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2065:4: ({...}? => ( ( ( rule__Mapping__DirectionAssignment_0_1 ) ) ) )
                    {
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2065:4: ({...}? => ( ( ( rule__Mapping__DirectionAssignment_0_1 ) ) ) )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2066:5: {...}? => ( ( ( rule__Mapping__DirectionAssignment_0_1 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMappingAccess().getUnorderedGroup_0(), 1) ) {
                        throw new FailedPredicateException(input, "rule__Mapping__UnorderedGroup_0__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getMappingAccess().getUnorderedGroup_0(), 1)");
                    }
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2066:104: ( ( ( rule__Mapping__DirectionAssignment_0_1 ) ) )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2067:6: ( ( rule__Mapping__DirectionAssignment_0_1 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getMappingAccess().getUnorderedGroup_0(), 1);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2073:6: ( ( rule__Mapping__DirectionAssignment_0_1 ) )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2075:7: ( rule__Mapping__DirectionAssignment_0_1 )
                    {
                     before(grammarAccess.getMappingAccess().getDirectionAssignment_0_1()); 
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2076:7: ( rule__Mapping__DirectionAssignment_0_1 )
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2076:8: rule__Mapping__DirectionAssignment_0_1
                    {
                    pushFollow(FOLLOW_rule__Mapping__DirectionAssignment_0_1_in_rule__Mapping__UnorderedGroup_0__Impl4169);
                    rule__Mapping__DirectionAssignment_0_1();
                    _fsp--;


                    }

                     after(grammarAccess.getMappingAccess().getDirectionAssignment_0_1()); 

                    }


                    }


                    }


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	if (selected)
            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMappingAccess().getUnorderedGroup_0());
            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__UnorderedGroup_0__Impl


    // $ANTLR start rule__Mapping__UnorderedGroup_0__0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2091:1: rule__Mapping__UnorderedGroup_0__0 : rule__Mapping__UnorderedGroup_0__Impl ( rule__Mapping__UnorderedGroup_0__1 )? ;
    public final void rule__Mapping__UnorderedGroup_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2095:1: ( rule__Mapping__UnorderedGroup_0__Impl ( rule__Mapping__UnorderedGroup_0__1 )? )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2096:2: rule__Mapping__UnorderedGroup_0__Impl ( rule__Mapping__UnorderedGroup_0__1 )?
            {
            pushFollow(FOLLOW_rule__Mapping__UnorderedGroup_0__Impl_in_rule__Mapping__UnorderedGroup_0__04228);
            rule__Mapping__UnorderedGroup_0__Impl();
            _fsp--;

            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2097:2: ( rule__Mapping__UnorderedGroup_0__1 )?
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( LA12_0 >=11 && LA12_0<=12 && getUnorderedGroupHelper().canSelect(grammarAccess.getMappingAccess().getUnorderedGroup_0(), 0) ) {
                alt12=1;
            }
            else if ( LA12_0 >=13 && LA12_0<=14 && getUnorderedGroupHelper().canSelect(grammarAccess.getMappingAccess().getUnorderedGroup_0(), 1) ) {
                alt12=1;
            }
            switch (alt12) {
                case 1 :
                    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2097:2: rule__Mapping__UnorderedGroup_0__1
                    {
                    pushFollow(FOLLOW_rule__Mapping__UnorderedGroup_0__1_in_rule__Mapping__UnorderedGroup_0__04231);
                    rule__Mapping__UnorderedGroup_0__1();
                    _fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__UnorderedGroup_0__0


    // $ANTLR start rule__Mapping__UnorderedGroup_0__1
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2104:1: rule__Mapping__UnorderedGroup_0__1 : rule__Mapping__UnorderedGroup_0__Impl ;
    public final void rule__Mapping__UnorderedGroup_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2108:1: ( rule__Mapping__UnorderedGroup_0__Impl )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2109:2: rule__Mapping__UnorderedGroup_0__Impl
            {
            pushFollow(FOLLOW_rule__Mapping__UnorderedGroup_0__Impl_in_rule__Mapping__UnorderedGroup_0__14256);
            rule__Mapping__UnorderedGroup_0__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__UnorderedGroup_0__1


    // $ANTLR start rule__Model__ModulesAssignment
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2120:1: rule__Model__ModulesAssignment : ( ruleMappingModule ) ;
    public final void rule__Model__ModulesAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2124:1: ( ( ruleMappingModule ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2125:1: ( ruleMappingModule )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2125:1: ( ruleMappingModule )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2126:1: ruleMappingModule
            {
             before(grammarAccess.getModelAccess().getModulesMappingModuleParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleMappingModule_in_rule__Model__ModulesAssignment4288);
            ruleMappingModule();
            _fsp--;

             after(grammarAccess.getModelAccess().getModulesMappingModuleParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Model__ModulesAssignment


    // $ANTLR start rule__MappingModule__ModuleNameAssignment_2
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2135:1: rule__MappingModule__ModuleNameAssignment_2 : ( ruleQID ) ;
    public final void rule__MappingModule__ModuleNameAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2139:1: ( ( ruleQID ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2140:1: ( ruleQID )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2140:1: ( ruleQID )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2141:1: ruleQID
            {
             before(grammarAccess.getMappingModuleAccess().getModuleNameQIDParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleQID_in_rule__MappingModule__ModuleNameAssignment_24319);
            ruleQID();
            _fsp--;

             after(grammarAccess.getMappingModuleAccess().getModuleNameQIDParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MappingModule__ModuleNameAssignment_2


    // $ANTLR start rule__MappingModule__MappersAssignment_3
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2150:1: rule__MappingModule__MappersAssignment_3 : ( ruleMapping ) ;
    public final void rule__MappingModule__MappersAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2154:1: ( ( ruleMapping ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2155:1: ( ruleMapping )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2155:1: ( ruleMapping )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2156:1: ruleMapping
            {
             before(grammarAccess.getMappingModuleAccess().getMappersMappingParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleMapping_in_rule__MappingModule__MappersAssignment_34350);
            ruleMapping();
            _fsp--;

             after(grammarAccess.getMappingModuleAccess().getMappersMappingParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__MappingModule__MappersAssignment_3


    // $ANTLR start rule__Mapping__CoverageAssignment_0_0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2165:1: rule__Mapping__CoverageAssignment_0_0 : ( ( rule__Mapping__CoverageAlternatives_0_0_0 ) ) ;
    public final void rule__Mapping__CoverageAssignment_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2169:1: ( ( ( rule__Mapping__CoverageAlternatives_0_0_0 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2170:1: ( ( rule__Mapping__CoverageAlternatives_0_0_0 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2170:1: ( ( rule__Mapping__CoverageAlternatives_0_0_0 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2171:1: ( rule__Mapping__CoverageAlternatives_0_0_0 )
            {
             before(grammarAccess.getMappingAccess().getCoverageAlternatives_0_0_0()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2172:1: ( rule__Mapping__CoverageAlternatives_0_0_0 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2172:2: rule__Mapping__CoverageAlternatives_0_0_0
            {
            pushFollow(FOLLOW_rule__Mapping__CoverageAlternatives_0_0_0_in_rule__Mapping__CoverageAssignment_0_04381);
            rule__Mapping__CoverageAlternatives_0_0_0();
            _fsp--;


            }

             after(grammarAccess.getMappingAccess().getCoverageAlternatives_0_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__CoverageAssignment_0_0


    // $ANTLR start rule__Mapping__DirectionAssignment_0_1
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2181:1: rule__Mapping__DirectionAssignment_0_1 : ( ( rule__Mapping__DirectionAlternatives_0_1_0 ) ) ;
    public final void rule__Mapping__DirectionAssignment_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2185:1: ( ( ( rule__Mapping__DirectionAlternatives_0_1_0 ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2186:1: ( ( rule__Mapping__DirectionAlternatives_0_1_0 ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2186:1: ( ( rule__Mapping__DirectionAlternatives_0_1_0 ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2187:1: ( rule__Mapping__DirectionAlternatives_0_1_0 )
            {
             before(grammarAccess.getMappingAccess().getDirectionAlternatives_0_1_0()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2188:1: ( rule__Mapping__DirectionAlternatives_0_1_0 )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2188:2: rule__Mapping__DirectionAlternatives_0_1_0
            {
            pushFollow(FOLLOW_rule__Mapping__DirectionAlternatives_0_1_0_in_rule__Mapping__DirectionAssignment_0_14414);
            rule__Mapping__DirectionAlternatives_0_1_0();
            _fsp--;


            }

             after(grammarAccess.getMappingAccess().getDirectionAlternatives_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__DirectionAssignment_0_1


    // $ANTLR start rule__Mapping__NameAssignment_2
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2197:1: rule__Mapping__NameAssignment_2 : ( RULE_STRING ) ;
    public final void rule__Mapping__NameAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2201:1: ( ( RULE_STRING ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2202:1: ( RULE_STRING )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2202:1: ( RULE_STRING )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2203:1: RULE_STRING
            {
             before(grammarAccess.getMappingAccess().getNameSTRINGTerminalRuleCall_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Mapping__NameAssignment_24447); 
             after(grammarAccess.getMappingAccess().getNameSTRINGTerminalRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__NameAssignment_2


    // $ANTLR start rule__Mapping__LeftClassAssignment_4
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2212:1: rule__Mapping__LeftClassAssignment_4 : ( ( ruleQID ) ) ;
    public final void rule__Mapping__LeftClassAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2216:1: ( ( ( ruleQID ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2217:1: ( ( ruleQID ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2217:1: ( ( ruleQID ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2218:1: ( ruleQID )
            {
             before(grammarAccess.getMappingAccess().getLeftClassJvmTypeCrossReference_4_0()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2219:1: ( ruleQID )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2220:1: ruleQID
            {
             before(grammarAccess.getMappingAccess().getLeftClassJvmTypeQIDParserRuleCall_4_0_1()); 
            pushFollow(FOLLOW_ruleQID_in_rule__Mapping__LeftClassAssignment_44482);
            ruleQID();
            _fsp--;

             after(grammarAccess.getMappingAccess().getLeftClassJvmTypeQIDParserRuleCall_4_0_1()); 

            }

             after(grammarAccess.getMappingAccess().getLeftClassJvmTypeCrossReference_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__LeftClassAssignment_4


    // $ANTLR start rule__Mapping__RightClassAssignment_6
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2231:1: rule__Mapping__RightClassAssignment_6 : ( ( ruleQID ) ) ;
    public final void rule__Mapping__RightClassAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2235:1: ( ( ( ruleQID ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2236:1: ( ( ruleQID ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2236:1: ( ( ruleQID ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2237:1: ( ruleQID )
            {
             before(grammarAccess.getMappingAccess().getRightClassJvmTypeCrossReference_6_0()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2238:1: ( ruleQID )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2239:1: ruleQID
            {
             before(grammarAccess.getMappingAccess().getRightClassJvmTypeQIDParserRuleCall_6_0_1()); 
            pushFollow(FOLLOW_ruleQID_in_rule__Mapping__RightClassAssignment_64521);
            ruleQID();
            _fsp--;

             after(grammarAccess.getMappingAccess().getRightClassJvmTypeQIDParserRuleCall_6_0_1()); 

            }

             after(grammarAccess.getMappingAccess().getRightClassJvmTypeCrossReference_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__RightClassAssignment_6


    // $ANTLR start rule__Mapping__MappedFeaturesAssignment_8_0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2250:1: rule__Mapping__MappedFeaturesAssignment_8_0 : ( ruleFeatureMap ) ;
    public final void rule__Mapping__MappedFeaturesAssignment_8_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2254:1: ( ( ruleFeatureMap ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2255:1: ( ruleFeatureMap )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2255:1: ( ruleFeatureMap )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2256:1: ruleFeatureMap
            {
             before(grammarAccess.getMappingAccess().getMappedFeaturesFeatureMapParserRuleCall_8_0_0()); 
            pushFollow(FOLLOW_ruleFeatureMap_in_rule__Mapping__MappedFeaturesAssignment_8_04556);
            ruleFeatureMap();
            _fsp--;

             after(grammarAccess.getMappingAccess().getMappedFeaturesFeatureMapParserRuleCall_8_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Mapping__MappedFeaturesAssignment_8_0


    // $ANTLR start rule__FeatureMap__LeftFieldAssignment_0_1
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2265:1: rule__FeatureMap__LeftFieldAssignment_0_1 : ( ( RULE_ID ) ) ;
    public final void rule__FeatureMap__LeftFieldAssignment_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2269:1: ( ( ( RULE_ID ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2270:1: ( ( RULE_ID ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2270:1: ( ( RULE_ID ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2271:1: ( RULE_ID )
            {
             before(grammarAccess.getFeatureMapAccess().getLeftFieldJvmFeatureCrossReference_0_1_0()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2272:1: ( RULE_ID )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2273:1: RULE_ID
            {
             before(grammarAccess.getFeatureMapAccess().getLeftFieldJvmFeatureIDTerminalRuleCall_0_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FeatureMap__LeftFieldAssignment_0_14591); 
             after(grammarAccess.getFeatureMapAccess().getLeftFieldJvmFeatureIDTerminalRuleCall_0_1_0_1()); 

            }

             after(grammarAccess.getFeatureMapAccess().getLeftFieldJvmFeatureCrossReference_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__LeftFieldAssignment_0_1


    // $ANTLR start rule__FeatureMap__RightFieldAssignment_0_3
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2284:1: rule__FeatureMap__RightFieldAssignment_0_3 : ( ( RULE_ID ) ) ;
    public final void rule__FeatureMap__RightFieldAssignment_0_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2288:1: ( ( ( RULE_ID ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2289:1: ( ( RULE_ID ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2289:1: ( ( RULE_ID ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2290:1: ( RULE_ID )
            {
             before(grammarAccess.getFeatureMapAccess().getRightFieldJvmFeatureCrossReference_0_3_0()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2291:1: ( RULE_ID )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2292:1: RULE_ID
            {
             before(grammarAccess.getFeatureMapAccess().getRightFieldJvmFeatureIDTerminalRuleCall_0_3_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FeatureMap__RightFieldAssignment_0_34630); 
             after(grammarAccess.getFeatureMapAccess().getRightFieldJvmFeatureIDTerminalRuleCall_0_3_0_1()); 

            }

             after(grammarAccess.getFeatureMapAccess().getRightFieldJvmFeatureCrossReference_0_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__RightFieldAssignment_0_3


    // $ANTLR start rule__FeatureMap__LeftFieldAssignment_1_2
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2303:1: rule__FeatureMap__LeftFieldAssignment_1_2 : ( ( RULE_ID ) ) ;
    public final void rule__FeatureMap__LeftFieldAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2307:1: ( ( ( RULE_ID ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2308:1: ( ( RULE_ID ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2308:1: ( ( RULE_ID ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2309:1: ( RULE_ID )
            {
             before(grammarAccess.getFeatureMapAccess().getLeftFieldJvmFeatureCrossReference_1_2_0()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2310:1: ( RULE_ID )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2311:1: RULE_ID
            {
             before(grammarAccess.getFeatureMapAccess().getLeftFieldJvmFeatureIDTerminalRuleCall_1_2_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FeatureMap__LeftFieldAssignment_1_24669); 
             after(grammarAccess.getFeatureMapAccess().getLeftFieldJvmFeatureIDTerminalRuleCall_1_2_0_1()); 

            }

             after(grammarAccess.getFeatureMapAccess().getLeftFieldJvmFeatureCrossReference_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__LeftFieldAssignment_1_2


    // $ANTLR start rule__FeatureMap__ExprAssignment_1_4
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2322:1: rule__FeatureMap__ExprAssignment_1_4 : ( ruleExpression ) ;
    public final void rule__FeatureMap__ExprAssignment_1_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2326:1: ( ( ruleExpression ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2327:1: ( ruleExpression )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2327:1: ( ruleExpression )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2328:1: ruleExpression
            {
             before(grammarAccess.getFeatureMapAccess().getExprExpressionParserRuleCall_1_4_0()); 
            pushFollow(FOLLOW_ruleExpression_in_rule__FeatureMap__ExprAssignment_1_44704);
            ruleExpression();
            _fsp--;

             after(grammarAccess.getFeatureMapAccess().getExprExpressionParserRuleCall_1_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__ExprAssignment_1_4


    // $ANTLR start rule__FeatureMap__RightFieldAssignment_2_2
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2337:1: rule__FeatureMap__RightFieldAssignment_2_2 : ( ( RULE_ID ) ) ;
    public final void rule__FeatureMap__RightFieldAssignment_2_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2341:1: ( ( ( RULE_ID ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2342:1: ( ( RULE_ID ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2342:1: ( ( RULE_ID ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2343:1: ( RULE_ID )
            {
             before(grammarAccess.getFeatureMapAccess().getRightFieldJvmFeatureCrossReference_2_2_0()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2344:1: ( RULE_ID )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2345:1: RULE_ID
            {
             before(grammarAccess.getFeatureMapAccess().getRightFieldJvmFeatureIDTerminalRuleCall_2_2_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FeatureMap__RightFieldAssignment_2_24739); 
             after(grammarAccess.getFeatureMapAccess().getRightFieldJvmFeatureIDTerminalRuleCall_2_2_0_1()); 

            }

             after(grammarAccess.getFeatureMapAccess().getRightFieldJvmFeatureCrossReference_2_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__RightFieldAssignment_2_2


    // $ANTLR start rule__FeatureMap__ExprAssignment_2_4
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2356:1: rule__FeatureMap__ExprAssignment_2_4 : ( ruleExpression ) ;
    public final void rule__FeatureMap__ExprAssignment_2_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2360:1: ( ( ruleExpression ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2361:1: ( ruleExpression )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2361:1: ( ruleExpression )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2362:1: ruleExpression
            {
             before(grammarAccess.getFeatureMapAccess().getExprExpressionParserRuleCall_2_4_0()); 
            pushFollow(FOLLOW_ruleExpression_in_rule__FeatureMap__ExprAssignment_2_44774);
            ruleExpression();
            _fsp--;

             after(grammarAccess.getFeatureMapAccess().getExprExpressionParserRuleCall_2_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__ExprAssignment_2_4


    // $ANTLR start rule__FeatureMap__LeftFieldAssignment_3_4
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2371:1: rule__FeatureMap__LeftFieldAssignment_3_4 : ( ( RULE_ID ) ) ;
    public final void rule__FeatureMap__LeftFieldAssignment_3_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2375:1: ( ( ( RULE_ID ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2376:1: ( ( RULE_ID ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2376:1: ( ( RULE_ID ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2377:1: ( RULE_ID )
            {
             before(grammarAccess.getFeatureMapAccess().getLeftFieldJvmFeatureCrossReference_3_4_0()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2378:1: ( RULE_ID )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2379:1: RULE_ID
            {
             before(grammarAccess.getFeatureMapAccess().getLeftFieldJvmFeatureIDTerminalRuleCall_3_4_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FeatureMap__LeftFieldAssignment_3_44809); 
             after(grammarAccess.getFeatureMapAccess().getLeftFieldJvmFeatureIDTerminalRuleCall_3_4_0_1()); 

            }

             after(grammarAccess.getFeatureMapAccess().getLeftFieldJvmFeatureCrossReference_3_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__LeftFieldAssignment_3_4


    // $ANTLR start rule__FeatureMap__RightFieldAssignment_4_4
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2390:1: rule__FeatureMap__RightFieldAssignment_4_4 : ( ( RULE_ID ) ) ;
    public final void rule__FeatureMap__RightFieldAssignment_4_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2394:1: ( ( ( RULE_ID ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2395:1: ( ( RULE_ID ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2395:1: ( ( RULE_ID ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2396:1: ( RULE_ID )
            {
             before(grammarAccess.getFeatureMapAccess().getRightFieldJvmFeatureCrossReference_4_4_0()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2397:1: ( RULE_ID )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2398:1: RULE_ID
            {
             before(grammarAccess.getFeatureMapAccess().getRightFieldJvmFeatureIDTerminalRuleCall_4_4_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FeatureMap__RightFieldAssignment_4_44848); 
             after(grammarAccess.getFeatureMapAccess().getRightFieldJvmFeatureIDTerminalRuleCall_4_4_0_1()); 

            }

             after(grammarAccess.getFeatureMapAccess().getRightFieldJvmFeatureCrossReference_4_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__RightFieldAssignment_4_4


    // $ANTLR start rule__FeatureMap__LeftFieldAssignment_5_3
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2409:1: rule__FeatureMap__LeftFieldAssignment_5_3 : ( ( RULE_ID ) ) ;
    public final void rule__FeatureMap__LeftFieldAssignment_5_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2413:1: ( ( ( RULE_ID ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2414:1: ( ( RULE_ID ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2414:1: ( ( RULE_ID ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2415:1: ( RULE_ID )
            {
             before(grammarAccess.getFeatureMapAccess().getLeftFieldJvmFeatureCrossReference_5_3_0()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2416:1: ( RULE_ID )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2417:1: RULE_ID
            {
             before(grammarAccess.getFeatureMapAccess().getLeftFieldJvmFeatureIDTerminalRuleCall_5_3_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FeatureMap__LeftFieldAssignment_5_34887); 
             after(grammarAccess.getFeatureMapAccess().getLeftFieldJvmFeatureIDTerminalRuleCall_5_3_0_1()); 

            }

             after(grammarAccess.getFeatureMapAccess().getLeftFieldJvmFeatureCrossReference_5_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__LeftFieldAssignment_5_3


    // $ANTLR start rule__FeatureMap__RightFieldAssignment_6_3
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2428:1: rule__FeatureMap__RightFieldAssignment_6_3 : ( ( RULE_ID ) ) ;
    public final void rule__FeatureMap__RightFieldAssignment_6_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2432:1: ( ( ( RULE_ID ) ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2433:1: ( ( RULE_ID ) )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2433:1: ( ( RULE_ID ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2434:1: ( RULE_ID )
            {
             before(grammarAccess.getFeatureMapAccess().getRightFieldJvmFeatureCrossReference_6_3_0()); 
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2435:1: ( RULE_ID )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2436:1: RULE_ID
            {
             before(grammarAccess.getFeatureMapAccess().getRightFieldJvmFeatureIDTerminalRuleCall_6_3_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FeatureMap__RightFieldAssignment_6_34926); 
             after(grammarAccess.getFeatureMapAccess().getRightFieldJvmFeatureIDTerminalRuleCall_6_3_0_1()); 

            }

             after(grammarAccess.getFeatureMapAccess().getRightFieldJvmFeatureCrossReference_6_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__FeatureMap__RightFieldAssignment_6_3


    // $ANTLR start rule__Expression__ValueAssignment_0
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2447:1: rule__Expression__ValueAssignment_0 : ( RULE_STRING ) ;
    public final void rule__Expression__ValueAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2451:1: ( ( RULE_STRING ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2452:1: ( RULE_STRING )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2452:1: ( RULE_STRING )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2453:1: RULE_STRING
            {
             before(grammarAccess.getExpressionAccess().getValueSTRINGTerminalRuleCall_0_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Expression__ValueAssignment_04961); 
             after(grammarAccess.getExpressionAccess().getValueSTRINGTerminalRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__ValueAssignment_0


    // $ANTLR start rule__Expression__IntValueAssignment_1
    // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2462:1: rule__Expression__IntValueAssignment_1 : ( RULE_INT ) ;
    public final void rule__Expression__IntValueAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2466:1: ( ( RULE_INT ) )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2467:1: ( RULE_INT )
            {
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2467:1: ( RULE_INT )
            // ../dk.nineconsult.jmoller.mapr.ui/src-gen/dk/nineconsult/jmoller/mapr/ui/contentassist/antlr/internal/InternalMapr.g:2468:1: RULE_INT
            {
             before(grammarAccess.getExpressionAccess().getIntValueINTTerminalRuleCall_1_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Expression__IntValueAssignment_14992); 
             after(grammarAccess.getExpressionAccess().getIntValueINTTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Expression__IntValueAssignment_1


 

    public static final BitSet FOLLOW_ruleModel_in_entryRuleModel61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleModel68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__ModulesAssignment_in_ruleModel94 = new BitSet(new long[]{0x0000000000008002L});
    public static final BitSet FOLLOW_ruleMappingModule_in_entryRuleMappingModule122 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMappingModule129 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MappingModule__Group__0_in_ruleMappingModule155 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQID_in_entryRuleQID182 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleQID189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QID__Group__0_in_ruleQID215 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMapping_in_entryRuleMapping242 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMapping249 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__Group__0_in_ruleMapping275 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFeatureMap_in_entryRuleFeatureMap302 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFeatureMap309 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Alternatives_in_ruleFeatureMap335 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_entryRuleExpression364 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleExpression371 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__Alternatives_in_ruleExpression397 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_rule__Mapping__CoverageAlternatives_0_0_0434 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Mapping__CoverageAlternatives_0_0_0454 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Mapping__DirectionAlternatives_0_1_0489 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Mapping__DirectionAlternatives_0_1_0509 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_0__0_in_rule__FeatureMap__Alternatives543 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_1__0_in_rule__FeatureMap__Alternatives561 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_2__0_in_rule__FeatureMap__Alternatives579 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_3__0_in_rule__FeatureMap__Alternatives597 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_4__0_in_rule__FeatureMap__Alternatives615 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_5__0_in_rule__FeatureMap__Alternatives633 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_6__0_in_rule__FeatureMap__Alternatives651 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__ValueAssignment_0_in_rule__Expression__Alternatives684 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__IntValueAssignment_1_in_rule__Expression__Alternatives702 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MappingModule__Group__0__Impl_in_rule__MappingModule__Group__0733 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__MappingModule__Group__1_in_rule__MappingModule__Group__0736 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MappingModule__Group__1__Impl_in_rule__MappingModule__Group__1794 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__MappingModule__Group__2_in_rule__MappingModule__Group__1797 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__MappingModule__Group__1__Impl825 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MappingModule__Group__2__Impl_in_rule__MappingModule__Group__2856 = new BitSet(new long[]{0x0000000000007802L});
    public static final BitSet FOLLOW_rule__MappingModule__Group__3_in_rule__MappingModule__Group__2859 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MappingModule__ModuleNameAssignment_2_in_rule__MappingModule__Group__2__Impl886 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MappingModule__Group__3__Impl_in_rule__MappingModule__Group__3916 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MappingModule__MappersAssignment_3_in_rule__MappingModule__Group__3__Impl943 = new BitSet(new long[]{0x0000000000007802L});
    public static final BitSet FOLLOW_rule__QID__Group__0__Impl_in_rule__QID__Group__0982 = new BitSet(new long[]{0x0000000000010002L});
    public static final BitSet FOLLOW_rule__QID__Group__1_in_rule__QID__Group__0985 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__QID__Group__0__Impl1012 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QID__Group__1__Impl_in_rule__QID__Group__11041 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QID__Group_1__0_in_rule__QID__Group__1__Impl1068 = new BitSet(new long[]{0x0000000000010002L});
    public static final BitSet FOLLOW_rule__QID__Group_1__0__Impl_in_rule__QID__Group_1__01103 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__QID__Group_1__1_in_rule__QID__Group_1__01106 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__QID__Group_1__0__Impl1134 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QID__Group_1__1__Impl_in_rule__QID__Group_1__11165 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__QID__Group_1__1__Impl1192 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__Group__0__Impl_in_rule__Mapping__Group__01225 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_rule__Mapping__Group__1_in_rule__Mapping__Group__01228 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__UnorderedGroup_0_in_rule__Mapping__Group__0__Impl1255 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__Group__1__Impl_in_rule__Mapping__Group__11285 = new BitSet(new long[]{0x0000000000040020L});
    public static final BitSet FOLLOW_rule__Mapping__Group__2_in_rule__Mapping__Group__11288 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Mapping__Group__1__Impl1316 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__Group__2__Impl_in_rule__Mapping__Group__21347 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Mapping__Group__3_in_rule__Mapping__Group__21350 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__NameAssignment_2_in_rule__Mapping__Group__2__Impl1377 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__Group__3__Impl_in_rule__Mapping__Group__31408 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Mapping__Group__4_in_rule__Mapping__Group__31411 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Mapping__Group__3__Impl1439 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__Group__4__Impl_in_rule__Mapping__Group__41470 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_rule__Mapping__Group__5_in_rule__Mapping__Group__41473 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__LeftClassAssignment_4_in_rule__Mapping__Group__4__Impl1500 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__Group__5__Impl_in_rule__Mapping__Group__51530 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Mapping__Group__6_in_rule__Mapping__Group__51533 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Mapping__Group__5__Impl1561 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__Group__6__Impl_in_rule__Mapping__Group__61592 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_rule__Mapping__Group__7_in_rule__Mapping__Group__61595 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__RightClassAssignment_6_in_rule__Mapping__Group__6__Impl1622 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__Group__7__Impl_in_rule__Mapping__Group__71652 = new BitSet(new long[]{0x000000003AA00000L});
    public static final BitSet FOLLOW_rule__Mapping__Group__8_in_rule__Mapping__Group__71655 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Mapping__Group__7__Impl1683 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__Group__8__Impl_in_rule__Mapping__Group__81714 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_rule__Mapping__Group__9_in_rule__Mapping__Group__81717 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__Group_8__0_in_rule__Mapping__Group__8__Impl1744 = new BitSet(new long[]{0x000000003A800002L});
    public static final BitSet FOLLOW_rule__Mapping__Group__9__Impl_in_rule__Mapping__Group__91775 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Mapping__Group__9__Impl1803 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__Group_8__0__Impl_in_rule__Mapping__Group_8__01854 = new BitSet(new long[]{0x0000000000400002L});
    public static final BitSet FOLLOW_rule__Mapping__Group_8__1_in_rule__Mapping__Group_8__01857 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__MappedFeaturesAssignment_8_0_in_rule__Mapping__Group_8__0__Impl1884 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__Group_8__1__Impl_in_rule__Mapping__Group_8__11914 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__Mapping__Group_8__1__Impl1943 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_0__0__Impl_in_rule__FeatureMap__Group_0__01980 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_0__1_in_rule__FeatureMap__Group_0__01983 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__FeatureMap__Group_0__0__Impl2011 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_0__1__Impl_in_rule__FeatureMap__Group_0__12042 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_0__2_in_rule__FeatureMap__Group_0__12045 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__LeftFieldAssignment_0_1_in_rule__FeatureMap__Group_0__1__Impl2072 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_0__2__Impl_in_rule__FeatureMap__Group_0__22102 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_0__3_in_rule__FeatureMap__Group_0__22105 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__FeatureMap__Group_0__2__Impl2133 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_0__3__Impl_in_rule__FeatureMap__Group_0__32164 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__RightFieldAssignment_0_3_in_rule__FeatureMap__Group_0__3__Impl2191 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_1__0__Impl_in_rule__FeatureMap__Group_1__02229 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_1__1_in_rule__FeatureMap__Group_1__02232 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__FeatureMap__Group_1__0__Impl2260 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_1__1__Impl_in_rule__FeatureMap__Group_1__12291 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_1__2_in_rule__FeatureMap__Group_1__12294 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__FeatureMap__Group_1__1__Impl2322 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_1__2__Impl_in_rule__FeatureMap__Group_1__22353 = new BitSet(new long[]{0x0000000004000000L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_1__3_in_rule__FeatureMap__Group_1__22356 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__LeftFieldAssignment_1_2_in_rule__FeatureMap__Group_1__2__Impl2383 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_1__3__Impl_in_rule__FeatureMap__Group_1__32413 = new BitSet(new long[]{0x0000000000000060L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_1__4_in_rule__FeatureMap__Group_1__32416 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__FeatureMap__Group_1__3__Impl2444 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_1__4__Impl_in_rule__FeatureMap__Group_1__42475 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__ExprAssignment_1_4_in_rule__FeatureMap__Group_1__4__Impl2502 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_2__0__Impl_in_rule__FeatureMap__Group_2__02542 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_2__1_in_rule__FeatureMap__Group_2__02545 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__FeatureMap__Group_2__0__Impl2573 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_2__1__Impl_in_rule__FeatureMap__Group_2__12604 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_2__2_in_rule__FeatureMap__Group_2__12607 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__FeatureMap__Group_2__1__Impl2635 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_2__2__Impl_in_rule__FeatureMap__Group_2__22666 = new BitSet(new long[]{0x0000000004000000L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_2__3_in_rule__FeatureMap__Group_2__22669 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__RightFieldAssignment_2_2_in_rule__FeatureMap__Group_2__2__Impl2696 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_2__3__Impl_in_rule__FeatureMap__Group_2__32726 = new BitSet(new long[]{0x0000000000000060L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_2__4_in_rule__FeatureMap__Group_2__32729 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__FeatureMap__Group_2__3__Impl2757 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_2__4__Impl_in_rule__FeatureMap__Group_2__42788 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__ExprAssignment_2_4_in_rule__FeatureMap__Group_2__4__Impl2815 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_3__0__Impl_in_rule__FeatureMap__Group_3__02855 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_3__1_in_rule__FeatureMap__Group_3__02858 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__FeatureMap__Group_3__0__Impl2886 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_3__1__Impl_in_rule__FeatureMap__Group_3__12917 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_3__2_in_rule__FeatureMap__Group_3__12920 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__FeatureMap__Group_3__1__Impl2948 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_3__2__Impl_in_rule__FeatureMap__Group_3__22979 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_3__3_in_rule__FeatureMap__Group_3__22982 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__FeatureMap__Group_3__2__Impl3010 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_3__3__Impl_in_rule__FeatureMap__Group_3__33041 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_3__4_in_rule__FeatureMap__Group_3__33044 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__FeatureMap__Group_3__3__Impl3072 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_3__4__Impl_in_rule__FeatureMap__Group_3__43103 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__LeftFieldAssignment_3_4_in_rule__FeatureMap__Group_3__4__Impl3130 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_4__0__Impl_in_rule__FeatureMap__Group_4__03170 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_4__1_in_rule__FeatureMap__Group_4__03173 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__FeatureMap__Group_4__0__Impl3201 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_4__1__Impl_in_rule__FeatureMap__Group_4__13232 = new BitSet(new long[]{0x0000000008000000L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_4__2_in_rule__FeatureMap__Group_4__13235 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__FeatureMap__Group_4__1__Impl3263 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_4__2__Impl_in_rule__FeatureMap__Group_4__23294 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_4__3_in_rule__FeatureMap__Group_4__23297 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__FeatureMap__Group_4__2__Impl3325 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_4__3__Impl_in_rule__FeatureMap__Group_4__33356 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_4__4_in_rule__FeatureMap__Group_4__33359 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__FeatureMap__Group_4__3__Impl3387 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_4__4__Impl_in_rule__FeatureMap__Group_4__43418 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__RightFieldAssignment_4_4_in_rule__FeatureMap__Group_4__4__Impl3445 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_5__0__Impl_in_rule__FeatureMap__Group_5__03485 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_5__1_in_rule__FeatureMap__Group_5__03488 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__FeatureMap__Group_5__0__Impl3516 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_5__1__Impl_in_rule__FeatureMap__Group_5__13547 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_5__2_in_rule__FeatureMap__Group_5__13550 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__FeatureMap__Group_5__1__Impl3578 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_5__2__Impl_in_rule__FeatureMap__Group_5__23609 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_5__3_in_rule__FeatureMap__Group_5__23612 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__FeatureMap__Group_5__2__Impl3640 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_5__3__Impl_in_rule__FeatureMap__Group_5__33671 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__LeftFieldAssignment_5_3_in_rule__FeatureMap__Group_5__3__Impl3698 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_6__0__Impl_in_rule__FeatureMap__Group_6__03736 = new BitSet(new long[]{0x0000000008000000L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_6__1_in_rule__FeatureMap__Group_6__03739 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__FeatureMap__Group_6__0__Impl3767 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_6__1__Impl_in_rule__FeatureMap__Group_6__13798 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_6__2_in_rule__FeatureMap__Group_6__13801 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__FeatureMap__Group_6__1__Impl3829 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_6__2__Impl_in_rule__FeatureMap__Group_6__23860 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_6__3_in_rule__FeatureMap__Group_6__23863 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__FeatureMap__Group_6__2__Impl3891 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__Group_6__3__Impl_in_rule__FeatureMap__Group_6__33922 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureMap__RightFieldAssignment_6_3_in_rule__FeatureMap__Group_6__3__Impl3949 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__UnorderedGroup_0__0_in_rule__Mapping__UnorderedGroup_03989 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__CoverageAssignment_0_0_in_rule__Mapping__UnorderedGroup_0__Impl4078 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__DirectionAssignment_0_1_in_rule__Mapping__UnorderedGroup_0__Impl4169 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__UnorderedGroup_0__Impl_in_rule__Mapping__UnorderedGroup_0__04228 = new BitSet(new long[]{0x0000000000007802L});
    public static final BitSet FOLLOW_rule__Mapping__UnorderedGroup_0__1_in_rule__Mapping__UnorderedGroup_0__04231 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__UnorderedGroup_0__Impl_in_rule__Mapping__UnorderedGroup_0__14256 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMappingModule_in_rule__Model__ModulesAssignment4288 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQID_in_rule__MappingModule__ModuleNameAssignment_24319 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMapping_in_rule__MappingModule__MappersAssignment_34350 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__CoverageAlternatives_0_0_0_in_rule__Mapping__CoverageAssignment_0_04381 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__DirectionAlternatives_0_1_0_in_rule__Mapping__DirectionAssignment_0_14414 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Mapping__NameAssignment_24447 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQID_in_rule__Mapping__LeftClassAssignment_44482 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQID_in_rule__Mapping__RightClassAssignment_64521 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFeatureMap_in_rule__Mapping__MappedFeaturesAssignment_8_04556 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__FeatureMap__LeftFieldAssignment_0_14591 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__FeatureMap__RightFieldAssignment_0_34630 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__FeatureMap__LeftFieldAssignment_1_24669 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__FeatureMap__ExprAssignment_1_44704 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__FeatureMap__RightFieldAssignment_2_24739 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__FeatureMap__ExprAssignment_2_44774 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__FeatureMap__LeftFieldAssignment_3_44809 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__FeatureMap__RightFieldAssignment_4_44848 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__FeatureMap__LeftFieldAssignment_5_34887 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__FeatureMap__RightFieldAssignment_6_34926 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Expression__ValueAssignment_04961 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Expression__IntValueAssignment_14992 = new BitSet(new long[]{0x0000000000000002L});

}
